?
事件源对象
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" C>
?
简单邮件
<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????? return false">
?
地址栏图标
<link rel="Shortcut Icon" href="favicon.ico">
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
?
收藏栏图标
<link rel="Bookmark" href="favicon.ico">
?
查看源码
<input type=button value=查看网页源代码 >
?
关闭输入法
<input style="ime-mode:disabled">
?
自动全选
<input type=text name=text1 value="123" >
ENTER键可以让光标移到下一个输入框
<input >
?
文本框的默认值
<input type=text value="123" >
?
title换行
obj.title = "123 sdfs "
?
获得时间所代表的微秒
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)">
?
获取选中内容
document.selection.createRange().duplicate().text
?
自动完成功能
<input? type=text? autocomplete=on>打开该功能?
<input? type=text? autocomplete=off>关闭该功能
?
窗口最大化
<body >
?
无关闭按钮IE
window.open("aa.htm", "meizz", "fullscreen=7");
?
统一编码/解码
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent对":"、"/"、";" 和 "?"也编码
?
表格行指示
<tr? >
?
//各种尺寸
s? +=? "\r\n网页可见区域宽:"+? document.body.clientWidth;?
s ?+=? "\r\n网页可见区域高:"+? document.body.clientHeight;?
s? +=? "\r\n网页可见区域高:"+? document.body.offsetWeight? +"? (包括边线的宽)";?
s? +=? "\r\n网页可见区域高:"+? document.body.offsetHeight? +"? (包括边线的宽)";?
s? +=? "\r\n网页正文全文宽:"+? document.body.scrollWidth;?
s? +=? "\r\n网页正文全文高:"+? document.body.scrollHeight;?
s? +=? "\r\n网页被卷去的高:"+? document.body.scrollTop;?
s? +=? "\r\n网页被卷去的左:"+? document.body.scrollLeft;?
s? +=? "\r\n网页正文部分上:"+? window.screenTop;?
s? +=? "\r\n网页正文部分左:"+? window.screenLeft;?
s? +=? "\r\n屏幕分辨率的高:"+ ?window.screen.height;?
s? +=? "\r\n屏幕分辨率的宽:"+? window.screen.width;?
s? +=? "\r\n屏幕可用工作区高度:"+? window.screen.availHeight;?
s? +=? "\r\n屏幕可用工作区宽度:"+? window.screen.availWidth;
?
//不缓存
<META HTTP-EQUIV="pragma" C>
<META HTTP-EQUIV="Cache-Control" C>
<META HTTP-EQUIV="expires" C> //无提示关闭 function Close()
{
var ua=navigator.userAgent
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
if(ie)
{
????? var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
? if(IEversion< 5.5)
? {
? var str? = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
????? str += '<param name="Command" value="Close"></object>';
????? document.body.insertAdjacentHTML("beforeEnd", str);
? ????document.all.noTipClose.Click();
? }
????? else
? {
????? window.opener =null;
????? window.close();
????? }
? }
else
{
? window.close()
? }
}
?
//获得控件的绝对位置(2)
oRect = obj.getBoundingClientRect();
oRect.left
oRect.
?
//页面进入和退出的特效
进入页面<meta http-equiv="Page-Enter" c>
推出页面<meta http-equiv="Page-Exit" c>
?
//网页是否被检索 <meta name="ROBOTS" c>
其中属性值有以下一些:
属性值为"all": 文件将被检索,且页上链接可被查询;
属性值为"none": 文件不被检索,而且不查询页上的链接;
属性值为"index": 文件将被检索;
属性值为"follow": 查询页上的链接;
属性值为"noindex": 文件不检索,但可被查询链接;
属性值为"nofollow": //自带的打印预览
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>
?
//浏览器验证 function checkBrowser()
{?
? this.ver=navigator.appVersion?
? this.dom=document.getElementById?1:0?
? this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;?
? this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;?
? this.ie4=(document.all && !this.dom)?1:0;?
? this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;?
? this.ns4=(document.layers && !this.dom)?1:0;?
? this.mac=(this.ver.indexOf('Mac') > -1) ?1:0;?
? this.ope=(navigator.userAgent.indexOf('Opera')>-1);?
? this.ie=(this.ie6 || this.ie5 || this.ie4)?
? this.ns=(this.ns4 || this.ns5)?
? this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope)?
? this.nbw=(!this.bw)?
? return this;
}
?
//无模式的提示框
function modelessAlert(Msg)
{
? window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close
?
();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}
?
//访问剪贴板 (1)拖拽访问
event.dataTransfer.setData("URL", oImage.src);
sImageURL = event.dataTransfer.getData("URL");
(2)普通访问
?
window.clipboardData.setData("Text",oSource.innerText);
window.clipboardData.getData("Text");? //操作COOKIE function SetCookie(sName, sValue)
{
document.cookie = sName + "=" + escape(sValue) + "; ";
}
function GetCookie(sName)
{
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
?
? var aCrumb = aCookie[i].split("=");
? if (sName == aCrumb[0])?
? return unescape(aCrumb[1]);
}
}
function DelCookie(sName)
{
document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}
?
//自定义的apply,call
Function.prototype.apply = function (obj, argu) {
if (obj) obj.constructor.prototype._caller = this;?
var argus = new Array();
for (var i=0;i<argu.length;i++)
? argus[i] = "argu[" + i + "]";
var r;
eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");")));
return r;
};
Function.prototype.call = function (obj) {
var argu = new Array();
for (var i=1;i<arguments.length;i++)
? argu[i-1] = arguments[i];
return this.apply(obj, argu);
};? ??????
?
//下载文件
function DownURL(strRemoteURL,strLocalURL)
{
try
{
? var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");
? xmlHTTP.open("Get",strRemoteURL,false);
? xmlHTTP.send();
? var adodbStream=new ActiveXObject("ADODB.Stream");
? adodbStream.Type=1;//1=adTypeBinary
? adodbStream.Open();
? adodbStream.write(xmlHTTP.responseBody);
? adodbStream.SaveToFile(strLocalURL,2);
? adodbStream.Close();
? adodbStream=null;
? xmlHTTP=null;
?
}
catch(e)
{
? window.confirm("下载URL出错!");
}
//window.confirm("下载完成.");
}
?
//检验连接是否有效
function getXML(URL)?
{
var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
xmlhttp.Open("GET",URL, false);?
try
{?
? xmlhttp.Send();
}
catch(e){}
finally?
{
? var result = xmlhttp.responseText;
? if(result)?
? {
? if(xmlhttp.Status==200)
? {
??? return(true);
? }
? else?
? {
??? return(false);
? }
? }
? else?
? {
? return(false);
? }
}
}
?
//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成
?
//组件是否安装
isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))
?
//检查网页是否存在 function CheckURL(URL)
{
? var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
? xmlhttp.Open("GET",URL, false);
? try
? {?
??? xmlhttp.Send();?
??? var result = xmlhttp.status;
? }
? catch(e) {return(false); }
? if(result==200)
? {?
??? return true;
? }
? xmlhttp = null;
? return false;
}
?
?//设置光标位置 function getCaret(textbox)
{
var control = document.activeElement;
textbox.focus();
var rang = document.selection.createRange();
? rang.setEndPoint("StartToStart",textbox.createTextRange())
control.focus();
return rang.text.length;
}
function setCaret(textbox,pos)
{
try
{
? var r =textbox.createTextRange();
? r.moveStart('character',pos);
? r.collapse(true);
? r.select();
}
catch(e)
{}
}
function selectLength(textbox,start,len)
{
try
{
? var r =textbox.createTextRange();
?
? r.moveEnd('character',len-(textbox.value.length-start));
? r.moveStart('character',start);
?
? r.select();
}
catch(e)
{//alert(e.description)}
}
function insertAtCaret(textbox,text)
{
textbox.focus();
document.selection.createRange().text = text;
}
?
//页内查找 function findInPage(str)
{
var txt, i, found,n = 0;
if (str == "")
{
? return false;
}
txt = document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++)
{
? txt.moveStart("character", 1);
? txt.moveEnd("textedit");
}
if (found)
{
? txt.moveStart("character", -1);
? txt.findText(str);
? txt.select();
? txt.scrollIntoView();
? n++;?
}
else
{
? if (n > 0)
? {
? n = 0;
? findInPage(str);
? }
? else
? {
? alert(str + "...???? ???????您要找的文字不存在。\n \n请试着输入页面中的关键字再次查找!");
? }
}
return false;
}
?
//插入文字
document.onclick =function(){?
var oSource = window.event.srcElement;?
if(oSource.tagName!="DIV")?
return false;?
var sel = document.selection;?
if (sel!=null) {?
var rng = sel.createRange();?
if (rng!=null)?
rng.pasteHTML("<font color=red>插入文字</font>");?
}?
}?
?
//netscapte下操作xml doc = new ActiveXObject("Msxml2.DOMDocument");
doc = new ActiveXObject("Microsoft.XMLDOM")
->>
doc = (new DOMParser()).parseFromString(sXML,'text/xml')
?
//禁止FSO
1.注销组件
regsvr32 /u scrrun.dll
2.修改PROGID
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
Scripting.FileSystemObject
3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting. //Import
function Import() {
for( var i=0; i<arguments.length; i++ ) {
? var file = arguments[i];
? if ( file.match(/\.js$/i))?
? document.write('<script type=\"text/javascript\" src=\"' + file + '\"></sc' + 'ript>');
? else
? document.write('<style type=\"text/css\">@import \"' + file + '\" ;</style>');
}
};
?
//js枚举
function getComputerName()
{
var objWMIService = GetObject("Winmgmts:root\cimv2");
for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext())
{
??? var getComputer = e.item();
??? return getComputer.Name;
}
}?
?
下面的是用javascript传递参数。如果本文件为test.htm,如果访问 test.htm?12 则javascript会得到?后的值并用
document.all替换iframe的src值。
<iframe height="750" width="760" scrolling="no" src="view.jsp" id="u" frameborder="0"></iframe>
<script language="javascript">
var url=window.location.href;
var s=url.indexOf("?");
if(s!=-1)
{
var src=url.substring(s+1);
document.all.u.src="view.jsp?id="+src;
?
}
</script>
?
//正则匹配
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/?
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
?
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"
?
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"
?
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData
?
('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'')
?
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
?