分类: 软件技术预览模式: 普通 | 列表

AJAX demo——操作文本文件

<script language="javascript">
//创建AJAX
function initxmlhttp()
{
   var xmlhttp
   try {
       xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
       try {
           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
       } catch (E) {
           xmlhttp=false;
       }
   }
   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
       try {
           xmlhttp = new XMLHttpRequest();
       } catch (e) {
           xmlhttp=false;
       }
   }
   if (!xmlhttp && window.createRequest) {
       try {
           xmlhttp = window.createRequest();
       } catch (e) {
           xmlhttp=false;
       }
   }
   return xmlhttp;
}
//从文本文件中读取文件并且显示
function readText()
{
   var readButton=document.getElementById('read');
   var showcontent=document.getElementById('content');
   readButton.disabled="disabled";
   showcontent.innerHTml='正在读取,Loading.....';
   var xmlhttp=initxmlhttp();
   var url="operation.php?action=read";
   xmlhttp.open("GET",url,true);
   xmlhttp.onreadystatechange=function(){
     if(xmlhttp.readyState==4 && xmlhttp.status==200)
     {
        showcontent.innerHTML=xmlhttp.responseText;
        readButton.disabled="";
        document.getElementById('edit').disabled="";
     }
   }
   xmlhttp.send(null);
}
//转换到编辑模式
function edit()
{
document.getElementById('edit').disabled="disabled";
var str='';
str+='<textarea name="textContent" cols="50" rows="8" id="textContent">';
str+='</textarea>';
document.getElementById('content').innerHTML=str;
document.getElementById('update').disabled="";
}
//更新数据到文本文件
function update()
{
var xmlhttp=initxmlhttp();
var url="operation.php?action=write";
var data="content="+document.all.textContent.value;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(data);
xmlhttp.onreadyStatechange=function(){
     if(xmlhttp.readyState==4 && xmlhttp.status==200)
     {
         document.getElementById('content').innerHTML=xmlhttp.responseText;
         document.getElementById('update').disabled="disabled";
     }
}
}
</script>
<body>
<div class="main-box">
<div class="head-dark-box">AJAX demo——操作文本文件</div>
<div class="body-box">
   <div class="tip-msg">一个简单的AJAX演示。主要功能有 :<br />
     1、读取文本文件并显示。<br />
     2、更新文本文件。
   </div>   
   <div class="alt-table" ><br />
     <input id="read" name="read" type="button" class="button" value="读取" onclick="readText()" />
     <input id="edit" disabled="disabled" name="edit" type="button" class="button" value="编辑" onclick="edit()" />
     <input id="update" disabled="disabled" name="update" type="button" class="button" value="更新" onclick="update()" />
     <div id="content" class="textbox-title"></div>
   </div>
</div>
<div id="copyright" class="foot-sql">Copyright @ 2006 <a href="http://www.phpobject.net">www.phpobject.net</a>!</div>
</div>
</body>


以下是asp code:
<%
set fso=server.CreateObject("Scripting.FileSystemObject")

if Request.QueryString("action")="read" then
    Set txtFile=fso.OpenTextFile(Server.MapPath("demo.txt"))
    Response.Write "<h3>text.txt content is following:</h3>"
    Response.Write "<hr width='100%' color='#cc9999'>"
    Response.Write "<PRE>"
    While Not txtFile.AtEndOfStream
        Response.Write txtFile.ReadLine & "<br>"
    Wend
    Response.Write "<PRE>"
else
    Set txtFile=fso.OpenTextFile(Server.MapPath("demo.txt"),2,true)
    txtFile.WriteLine Request("content")
end if
txtFile.Close
%>

Tags: Ajax demo 文本 javascript js

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 667

15款工具帮你更好的做笔记

在线笔记,和放在自己电脑里的笔记相比,有着众多的好处。我们可以随时随地访问修改我们的笔记,我们可以和同学一起分享交流笔记,还有一些特别的功 能,比如说,在线的to-do list,日程表,甚至有客户端使得我们可以将笔记内容和服务器那边进行同步。这次Hugh就给大家介绍很多的在线笔记站点,有些可能大家已经知道了,不 过相信看完所有的介绍,一定会有些让你心动的。

 

  • NoteSake 很多朋友可能都知道这个站点,我也曾经使用过一段时间。对中文的支持没有问题,可以给笔记添加课程分类和tag,便于搜索;通过group的形式,使得和 同学一起分享笔记成为可能;采用独特的Textile标记,更好地管理笔记的格式;支持latex标记,方便输入数学公式;支持将笔记导出成为pdf和 doc文件。

 

  • Notely 专门为学生设计的站点,帮助你更有组织计划的进行学习。提供的功能也是非常之多:笔记功能,日历,to-do list,task list,联系人以及上传功能。同样支持课程分类,支持pdf,doc以及txt格式的笔记导出下载,并且可以通过email直接转发。个人感觉,将课 程,日历,笔记等功能集合在一起,非常适合学生的需要,就像一般的pim软件一样,非常容易的通过calendar添加对应日记的任务以及笔记。好友功能 也非常不错,可以添加facebook上的好友。大家可以通过网站上的Demo功能先行体验。

 

  • MyNoteIt 功能也非常之多的一个站点:除了笔记功能之外,Calendar,Group,to-do list,书签,好友等功能都具有。对于课程方面有着不错的功能,可以添加课程,针对每门课程添加单独课程,笔记,分数以及作业,并可以保存授课老师的联 系方式;借助于mynoteIT Mobile可以通过手机浏览你的笔记;支持上传word以及openoffice文件,还包括图片,扫描的笔记以及音频文件。同样提供体验功能。

 

  • EverNote EverNote相信很多朋友也都知道,功能也是非常不错,只是因为自己一直使用ubuntu的原因,所以一直没有用过。EverNote可以通过文本, 截图,手写等各种方式创建笔记;可以与手机或者PDA进行同步;通过IM软件或者Email和同学更快的分享你们的笔记;通过Google Desktop Search更加迅速的查找笔记,不过估计大家的笔记还没有多到这个程度。最新的EverNote2.2又提供了不少新功能,大家可以自己了解一下。

 

  • OurNotePad 比较突出的功能是分享功能,支持一栏和四栏的笔记布局。可以让同一个group的人更好的了解工作的进程,使得老师能够更好的和学生进行合作。从界面到操 作都属于非常朴实的那种,如果大家喜欢Web2.0的风格,这个站点可能不会受到大家的欢迎。还有一些其他的功能,比如提醒,calendar和在线存储 等等,我没有更多的去了解,如果大家有兴趣,可以去看看。

 

  • WikiPad 这是一款开源的,类似wiki的笔记工具。无论是windows,linux还是MacOS都可以使用这个软件。同时还有很多不错的功能:支持to-do list, 支持自动保存,支持导出成为html文件,采用纯文本的方式来保存所有的数据。你可以把它当做笔记本来使用,也可以写自己的wiki,甚至建立自己的 PIM或者PKM都可以。

 

  • NoteCentric 现在已经成为facebook的一个application,可以非常有效稳定的管理你的笔记。同样支持课程分类,提供相关笔记的功能,笔记的编辑非常容易上手,支持笔记的分享功能,通过RSS订阅提供了很好的提醒功能。

 

  • Writeboard 版本控制功能相当不错,可以了解到每次的更新,并且比较不同版本之间的区别,有些类似svn的感觉,并且可以通过订阅rss了解到所有笔记内容的变化,所 以对于group work相当适合。在你创建了一个write board之后,可以邀请你的同学或者朋友加入进来,对于每个人的修改都会有一个副本被保存下来。

 

  • ZohoWriter 这个站点我觉得很多人可能也推荐过。非常不错的在线笔记站点,支持多人访问,WYSIWYG的编辑模式,支持导入doc,odt,sxw,html, rtf,jpg,gif,png等格式,支持导出为doc,pdf,sxw,odt,rft,txt以及html格式,非常方便的分享功能,特殊符号的输 入功能。如果想阅览之前版本的笔记,也可以通过History访问。对于英文的笔记,还提供了spell checking的功能。

 

  • YourDraft通过 WYSIWYG的编辑方式,非常轻松的创建自己的笔记。同时能够设置他人的访问权限,你可以允许别人阅读甚至给你的笔记添加评论或者回复。其实是通过创建 一个页面,内容可以由你个人自由添加,甚至可以很容易的将你创建的页面在你的博客或者网站当中使用,站点的说明里提供了这个功能的解释。

 

  • Backpack我很喜 欢的一个站点,能够将笔记,to-do list,一些想法,calendar很好的进行管理。不仅仅是作为一个笔记站点,使用方式也相当之多,可以用来设置提醒,制定任务列表,管理照片。通过 tagging page的方式使得管理页面也非常容易;通过提醒功能,你可以不用担心自己错过任何的事情。其实用处之多是我难以想像的,站点上游专门的example uses,大家可以去看看。

 

  • YahooNotePad 这 个不如和Google Notebook一起来介绍,其实感觉没什么可说的了,大家都知道google的,yahoo的感觉上也差不多,可以和Outlook以及Palm Desktop进行同步,不过感觉速度一般,可能是我这里的网络问题。 不过这个和我所期望的笔记功能还是有区别的,如果大家对google notebook审美疲劳了,可以试试yahoo的。

 

  • MyYellowPad 可以通过myyellowpad管理你的购物列表,任务列表,电话号码,联系人名单,笔记,生日等等,不过整体感觉一般,说不定你会很喜欢的。

 

  • Jjot 第一感觉有些象google notebook,可以非常方便的将自己的想法,在网页上看到的内容保存下来,不过我觉得仅仅是这些功能,大家可能更加愿意使用google note,不知道大家怎么觉得。也有些类似KDE下面的Knote,这个是我经常在laptop上面使用的。

 

  • SyncNotes 正如名字一样,这个站点的同步功能也许是最大的特色。你需要首先下载一个SyncNotes的客户端软件,这样你就可以通过你的笔记本电脑或者PDA管理,添加你的笔记了。同时可以通过浏览器或者支持上网功能的手机将你的笔记内容和SyncNotes服务器进行同步。



原文作者: Hugh

原文链接http://www.quhuashuai.com/2007/12/15-tools-for-note-taking/

Tags: 工具 笔记

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 539

JavaScript语言基础

===================================================
词法结构

字符集,大小写敏感性,空白符和换行符,可选的分号,注释,直接量,标识符,保留字

1 字符集
JavaScript程序是用Unicode字符集编写的。与7位的ASCII编码(只适用于英语)和8位的ISO Latin-1编码(只适用于英语的西欧语言)不同,16位的Unicode编码可以表示地球上通用的每一种书面语言。这是国际化的一个重要特征,对那些不讲英语的程序设计者尤为重要。

美国以及其他讲英语的国家的程序设计者通常都用仅支持ASCII码和Latin-1编码的文本编辑器编写程序,因此他们难以访问完整的Unicode字符集。但是这并不成问题,因为ASCII编码和Latin-1编码都是Unicode编码的子集,所以用这两种编码集合编写的JavaScript程序都是绝对有效的。JavaScript程序中的每个字符都是用两个字节表示的,习惯于认为字符都是用8位表示的程序设计者可能会对此感到惊讶,不过这个事实对程序设计者来说是透明的,所以可以忽略它。

查看更多...

Tags: javascript 语言基础

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 739

javaScript技巧集合

  • 事件源对象
    event.srcElement.tagName
    event.srcElement.type
  • 捕获释放
    event.srcElement.setCapture();
    event.srcElement.releaseCapture();
  • 事件按键
    event.keyCode
    event.shiftKey
    event.altKey
    event.ctrlKey
  • 事件返回值
    event.returnValue
  • 鼠标位置
    event.x
    event.y
  • 窗体活动元素
    document.activeElement
  • 绑定事件
    document.captureEvents(Event.KEYDOWN);
  • 访问窗体元素
    document.all("txt").focus();
    document.all("txt").select();
  • 窗体命令
    document.execCommand
  • 窗体COOKIE
    document.cookie
  • 菜单事件
    document.oncontextmenu
  • 创建元素
    document.createElement("SPAN");
  • 根据鼠标获得元素:
    document.elementFromPoint(event.x,event.y).tagName=="TD
    document.elementFromPoint(event.x,event.y).appendChild(ms)
  • 窗体图片
    document.images[索引]
  • 窗体事件绑定
    document.onmousedown=scrollwindow;
  • 元素
    document.窗体.elements[索引]
  • 对象绑定事件
    document.all.xxx.detachEvent('onclick',a);
  • 插件数目
    navigator.plugins
  • 取变量类型
    typeof($js_libpath) == "undefined"
  • 下拉框
    下拉框.options[索引]
    下拉框.options.length
  • 查找对象
    document.getElementsByName("r1");
    document.getElementById(id);
  • 定时
    timer=setInterval('scrollwindow()',delay);
    clearInterval(timer);
  • UNCODE编码
    escape() ,unescape
  • 父对象
    obj.parentElement(dhtml)
    obj.parentNode(dom)
  • 交换表的行
    TableID.moveRow(2,1)
  • 替换CSS
    document.all.csss.href = "a.css";
  • 并排显示
    display:inline
  • 隐藏焦点
    hidefocus=true
  • 根据宽度换行
    style="word-break:break-all"
  • 自动刷新
    <meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">
  • 简单邮件
    <a href="
    mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">
  • 快速转到位置
    obj.scrollIntoView(true)

  • <a name="first">
    <a href="#first">anchors</a>
  • 网页传递参数
    location.search();
  • 可编辑
    obj.contenteditable=true
  • 执行菜单命令
    obj.execCommand
  • 双字节字符
    /[^\x00-\xff]/
    汉字
    /[\u4e00-\u9fa5]/
  • 让英文字符串超出表格宽度自动换行
    word-wrap: break-word; word-break: break-all;
  • 透明背景
    <IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
  • 获得style内容
    obj.style.cssText
  • HTML标签
    document.documentElement.innerHTML
  • 第一个style标签
    document.styleSheets[0]
  • style标签里的第一个样式
    document.styleSheets[0].rules[0]
  • 防止点击空链接时,页面往往重置到页首端。
    <a href="javascript:function()">word</a>
  • 上一网页源
    asp:
    request.servervariables("HTTP_REFERER")
    javascript:
    document.referrer
  • 释放内存
    CollectGarbage();
  • 禁止右键
    document.oncontextmenu = function() { return false;}
  • 禁止保存
    <noscript><iframe src="*.htm"></iframe></noscript>
  • 禁止选取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()>
  • 禁止粘贴
    <input type=text onpaste="return false">
  • 地址栏图标
    <link rel="Shortcut Icon" href="favicon.ico">
    favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
  • 收藏栏图标
    <link rel="Bookmark" href="favicon.ico">
  • 查看源码
    <input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
  • 关闭输入法
    <input style="ime-mode:disabled">
  • 自动全选
    <input type=text name=text1 value="123" onfocus="this.select()">
  • ENTER键可以让光标移到下一个输入框
    <input onkeydown="if(event.keyCode==13)event.keyCode=9">
  • 文本框的默认值
    <input type=text value="123" onfocus="alert(this.defaultValue)">
  • title换行
    obj.title = "123&#13sdfs&#32"
  • 获得时间所代表的微秒
    var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
  • 窗口是否关闭
    win.closed
  • checkbox扁平
    <input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>
  • 获取选中内容
    document.selection.createRange().duplicate().text
  • 自动完成功能
    <input type=text autocomplete=on>打开该功能
    <input type=text autocomplete=off>关闭该功能   
  • 窗口最大化
    <body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
  • 无关闭按钮IE
    window.open("aa.htm", "meizz", "fullscreen=7");
  • 统一编码/解码
    alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
    encodeURIComponent对":"、"/"、";" 和 "?"也编码
  • 表格行指示
    <tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">

Tags: javascript {269}集合 js

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 557

JavaScript打印

//打印分页

 


//设置打印

<object id="factory" style="display:none" viewastext
   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
   codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
></object>
<input type=button value=页面设置 onclick="factory.printing.PageSetup()">
<input type=button value=打印预览 onclick="factory.printing.Preview()">

<script language=javascript>
function window.onload()
{
   // -- advanced features
    factory.printing.SetMarginMeasure(2) // measure margins in inches
    factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3
    factory.printing.printer = "HP DeskJet 870C"
    factory.printing.copies = 2
    factory.printing.collate = true
    factory.printing.paperSize = "A4"
    factory.printing.paperSource = "Manual feed"
   // -- basic features
    factory.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页"
    factory.printing.footer = "(自定义页脚)"
    factory.printing.portrait = false
    factory.printing.leftMargin = 0.75
    factory.printing.topMargin = 1.5
    factory.printing.rightMargin = 0.75
    factory.printing.bottomMargin = 1.5
}
function Print(frame) {
   factory.printing.Print(true, frame) // print with prompt
}
</script>
<input type=button value="打印本页" onclick="factory.printing.Print(false)">
<input type=button value="页面设置" onclick="factory.printing.PageSetup()">
<input type=button value="打印预览" onclick="factory.printing.Preview()"><br>
<a href="http://www.meadroid.com/scriptx/docs/printdoc.htm?static"   target=_blank>具体使用手册,更多信息,点这里</a>

//自带的打印预览

WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
<style media=print>
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-break-after: always;}<!--控制分页-->
</style>
<object   id="WebBrowser"   width=0   height=0   classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">    
</object>    

<center class="Noprint" >
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
</p>
<p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>
</center>

//去掉打印时的页眉页脚

<script   language="JavaScript">  
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//设置网页打印的页眉页脚为空
function PageSetup_Null()
{
try
{
         var Wsh=new ActiveXObject("WScript.Shell");
   HKEY_Key="header";
   Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
   HKEY_Key="footer";
   Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
}
catch(e){}
}
//设置网页打印的页眉页脚为默认值
function   PageSetup_Default()
{  
try
{
  var Wsh=new ActiveXObject("WScript.Shell");
   HKEY_Key="header";
   Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
   HKEY_Key="footer";
   Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
}
catch(e){}
}
</script>
<input type="button" value="清空页码" onclick=PageSetup_Null()>
<input type="button" value="恢复页码" onclick=PageSetup_Default()>

查看更多...

Tags: javascript 打印

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 750

JavaScript获取窗口的高度和宽度

网页可见区域宽:"+   document.body.clientWidth;
网页可见区域高:"+   document.body.clientHeight;
网页可见区域宽:"+   document.body.offsetWidth     +"   (包括边线和滚动条的宽)";
网页可见区域高:"+   document.body.offsetHeight   +"   (包括边线的宽)";
网页正文全文宽:"+   document.body.scrollWidth;
网页正文全文高:"+   document.body.scrollHeight;
网页被卷去的高:"+   document.body.scrollTop;
网页被卷去的左:"+   document.body.scrollLeft;
网页正文部分上:"+   window.screenTop;
网页正文部分左:"+   window.screenLeft;
屏幕分辨率的高:"+   window.screen.height;
屏幕分辨率的宽:"+   window.screen.width;
屏幕可用工作区高度:"+   window.screen.availHeight;
屏幕可用工作区宽度:"+   window.screen.availWidth;
你的屏幕设置是   "+   window.screen.colorDepth   +"   位彩色";
你的屏幕设置   "+   window.screen.deviceXDPI   +"   像素/英寸";

特殊1、
document.body.scrollTop总为0的解决方法
var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
   scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' &&
             document.compatMode != 'BackCompat') {
   scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
           scrollPos = document.body.scrollTop;
}
alert(scrollPos );

特殊2、
网页正文全文宽:"+   document.body.scrollWidth;
网页正文全文高:"+   document.body.scrollHeight;
以上函数有时获取不了,就用一下方法。
        var xScroll, yScroll;
        if (window.innerHeight && window.scrollMaxY)
        {
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else
        { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }

Tags: javascript 窗口 高度 宽度 js

分类:软件技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 513