Javascript 实用小技巧_Javascript教程-查字典教程网
Javascript 实用小技巧
Javascript 实用小技巧
发布时间:2016-12-30 来源:查字典编辑
摘要://自定义的apply,callFunction.prototype.apply=function(obj,argu){if(obj)obj...

//自定义的apply,call

Function.prototype.apply=function(obj,argu){

if(obj)obj.constructor.prototype._caller=this;

varargus=newArray();

for(vari=0;i<argu.length;i++)

argus[i]="argu["+i+"]";

varr;

eval("r="+(obj?("obj._caller("+argus.join(",")+");"):("this("+argus.join(",")+");")));

returnr;

};

Function.prototype.call=function(obj){

varargu=newArray();

for(vari=1;i<arguments.length;i++)

argu[i-1]=arguments[i];

returnthis.apply(obj,argu);

};

//下载文件

functionDownURL(strRemoteURL,strLocalURL)

{

try

{

varxmlHTTP=newActiveXObject("Microsoft.XMLHTTP");

xmlHTTP.open("Get",strRemoteURL,false);

xmlHTTP.send();

varadodbStream=newActiveXObject("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("下载完成.");

}

//检验连接是否有效

functiongetXML(URL)

{

varxmlhttp=newActiveXObject("microsoft.xmlhttp");

xmlhttp.Open("GET",URL,false);

try

{

xmlhttp.Send();

}

catch(e){}

finally

{

varresult=xmlhttp.responseText;

if(result)

{

if(xmlhttp.Status==200)

{

return(true);

}

else

{

return(false);

}

}

else

{

return(false);

}

}

}

//POST代替FORM

<SCRIPTlanguage="VBScript">

FunctionURLEncoding(vstrIn)

strReturn=""

Fori=1ToLen(vstrIn)

ThisChr=Mid(vStrIn,i,1)

IfAbs(Asc(ThisChr))<&HFFThen

strReturn=strReturn&ThisChr

Else

innerCode=Asc(ThisChr)

IfinnerCode<0Then

innerCode=innerCode+&H10000

EndIf

Hight8=(innerCodeAnd&HFF00)&HFF

Low8=innerCodeAnd&HFF

strReturn=strReturn&"%"&Hex(Hight8)&"%"&Hex(Low8)

EndIf

Next

URLEncoding=strReturn

EndFunction

Functionbytes2BSTR(vIn)

strReturn=""

Fori=1ToLenB(vIn)

ThisCharCode=AscB(MidB(vIn,i,1))

IfThisCharCode<&H80Then

strReturn=strReturn&Chr(ThisCharCode)

Else

NextCharCode=AscB(MidB(vIn,i+1,1))

strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))

i=i+1

EndIf

Next

bytes2BSTR=strReturn

EndFunction

dimstrA,oReq

strA=URLEncoding("submit1=Submit&text1=中文")

setoReq=CreateObject("MSXML2.XMLHTTP")

oReq.open"POST","http://ServerName/VDir/TstResult.asp",false

oReq.setRequestHeader"Content-Length",Len(strA)

oReq.setRequestHeader"CONTENT-TYPE","application/x-www-form-urlencoded"

oReq.sendstrA

msgboxbytes2BSTR(oReq.responseBody)

</SCRIPT>

//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

//检查网页是否存在

functionCheckURL(URL)

{

varxmlhttp=newActiveXObject("Microsoft.XMLHTTP");

xmlhttp.Open("GET",URL,false);

try

{

xmlhttp.Send();

varresult=xmlhttp.status;

}

catch(e){return(false);}

if(result==200)

{

returntrue;

}

xmlhttp=null;

returnfalse;

}

//连接数据库

<scriptlanguage="javascript">

//用JavaScript写服务器端连接数据库的代码示例

varconn=newActiveXObject("ADODB.Connection");

conn.Open("Provider=SQLOLEDB.1;DataSource=localhost;UserID=sa;"

+"Password=;InitialCatalog=pubs");

varrs=newActiveXObject("ADODB.Recordset");

varsql="select*fromauthors";

rs.open(sql,conn);

shtml="<tablewidth='100%'border=1>";

shtml+="<trbgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td>city</td><td>state</td><td>zip</td></tr>";

while(!rs.EOF)

{

shtml+="<tr><td>"+rs("au_id")+"</td><td>"+rs("au_lname")+"</td><td>"+rs("au_fname")+"</td><td>"+rs("phone")+"</td><td>"+rs("address")+"</td><td>"+rs("city")+"</td><td>"+rs("state")+"</td><td>"+rs("zip")+"</td></tr>";

rs.moveNext;

}

shtml+="</table>";

document.write(shtml);

rs.close();

rs=null;

conn.close();

conn=null;

</script>

//使用数据岛

<html>

<body>

srno:<inputtype=textdatasrc=#xmldateDataFLD=srnosize="76"><BR>

times:<inputtype=textdatasrc=#xmldateDataFLD=timessize="76"><BR>

<inputid="first"TYPE=buttonvalue="<<第一条记录"onclick="xmldate.recordset.moveFirst()">

<inputid="prev"TYPE=buttonvalue="<上一条记录"onclick="xmldate.recordset.movePrevious()">

<inputid="next"TYPE=buttonvalue="下一条记录>"onclick="xmldate.recordset.moveNext()">

<inputid="last"TYPE=buttonvalue="最后一条记录>>"onclick="xmldate.recordset.moveLast()">

<inputid="Add"TYPE=buttonvalue="添加新记录"onclick="xmldate.recordset.addNew()">

<XMLID="xmldate">

<infolist>

<info><srno>20041025-01</srno><times>null</times></info>

<info><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info>

</infolist>

</XML>

</body>

</html>

//获得参数

<body>

<ahref="javascript:location.href=location.href+'?a=1&b=2'">search</a>

<scriptlanguage="JavaScript">

<>

</script>

</body>

//可编辑Select

<inputtype=textname=re_name><span><selectname="r00"onChange="document.all.re_name.value=this.value;">

<optionvalue="1">11111111<option>

<optionvalue="2">222222</option>

<optionvalue="3">333333</option>

</select>

</span>

//设置光标位置

functiongetCaret(textbox)

{

varcontrol=document.activeElement;

textbox.focus();

varrang=document.selection.createRange();

rang.setEndPoint("StartToStart",textbox.createTextRange())

control.focus();

returnrang.text.length;

}

functionsetCaret(textbox,pos)

{

try

{

varr=textbox.createTextRange();

r.moveStart('character',pos);

r.collapse(true);

r.select();

}

catch(e)

{}

}

functionselectLength(textbox,start,len)

{

try

{

varr=textbox.createTextRange();

r.moveEnd('character',len-(textbox.value.length-start));

r.moveStart('character',start);

r.select();

}

catch(e)

{//alert(e.description)}

}

functioninsertAtCaret(textbox,text)

{

textbox.focus();

document.selection.createRange().text=text;

}

//页内查找

functionfindInPage(str)

{

vartxt,i,found,n=0;

if(str=="")

{

returnfalse;

}

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+"...您要找的文字不存在。nn请试着输入页面中的关键字再次查找!");

}

}

returnfalse;

}

//书

http://www.itpub.net/attachment.php?s=&postid=1894598

http://www.wrclub.net/down/listdown.aspx?id=1341

//操作EXECL

<scriptlanguage="javascript">

functionjStartExcel(){

varxls=newActiveXObject("Excel.Application");

xls.visible=true;

varnewBook=xls.Workbooks.Add;

newBook.Worksheets.Add;

newBook.Worksheets(1).Activate;

xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation=2;

xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize=5;

newBook.Worksheets(1).Columns("A").columnwidth=50;

newBook.Worksheets(1).Columns("A").WrapText=true;

newBook.Worksheets(1).Columns("B").columnwidth=50;

newBook.Worksheets(1).Columns("B").WrapText=true;

newBook.Worksheets(1).Range("A1:B1000").NumberFormat="0";

newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment=-4131;

newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15";

newBook.Worksheets(1).Cells(1,1).value="FirstColumn,FirstCell";

newBook.Worksheets(1).Cells(2,1).value="FirstColumn,SecondCell";

newBook.Worksheets(1).Cells(1,2).value="SecondColumn,FirstCell";

newBook.Worksheets(1).Cells(2,2).value="SecondColumn,SecondCell";

newBook.Worksheets(1).Name="MyFirstWorkSheet";

}

</script>

//自定义提示条

<ahref="#"title="这是提示">tip</a>

<scriptLanguage="JavaScript">

//***********默认设置定义.*********************

tPopWait=50;//停留tWait豪秒后显示提示。

tPopShow=5000;//显示tShow豪秒后关闭提示

showPopStep=20;

popOpacity=99;

//***************内部变量定义*****************

sPop=null;

curShow=null;

tFadeOut=null;

tFadeIn=null;

tFadeWaiting=null;

document.write("<styletype='text/css'id='defaultPopStyle'>");

document.write(".cPopText{background-color:#F8F8F5;color:#000000;border:1px#000000solid;font-color:font-size:12px;padding-right:4px;padding-left:4px;height:20px;padding-top:2px;padding-bottom:2px;filter:Alpha(Opacity=0)}");

document.write("</style>");

document.write("<divid='dypopLayer'class='cPopText'></div>");

functionshowPopupText(){

varo=event.srcElement;

MouseX=event.x;

MouseY=event.y;

if(o.alt!=null&&o.alt!=""){o.dypop=o.alt;o.alt=""};

if(o.title!=null&&o.title!=""){o.dypop=o.title;o.title=""};

if(o.dypop!=sPop){

sPop=o.dypop;

clearTimeout(curShow);

clearTimeout(tFadeOut);

clearTimeout(tFadeIn);

clearTimeout(tFadeWaiting);

if(sPop==null||sPop==""){

dypopLayer.innerHTML="";

dypopLayer.style.filter="Alpha()";

dypopLayer.filters.Alpha.opacity=0;

}

else{

if(o.dyclass!=null)popStyle=o.dyclass

elsepop;

curShow=setTimeout("showIt()",tPopWait);

}

}

}

functionshowIt(){

dypopLayer.className=popStyle;

dypopLayer.innerHTML=sPop;

popWidth=dypopLayer.clientWidth;

popHeight=dypopLayer.clientHeight;

if(MouseX+12+popWidth>document.body.clientWidth)popLeftAdjust=-popWidth-24

elsepopLeftAdjust=0;

if(MouseY+12+popHeight>document.body.clientHeight)popTopAdjust=-popHeight-24

elsepopTopAdjust=0;

dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;

dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;

dypopLayer.style.filter="Alpha(Opacity=0)";

fadeOut();

}

functionfadeOut(){

if(dypopLayer.filters.Alpha.opacity<popOpacity){

dypopLayer.filters.Alpha.opacity+=showPopStep;

tFadeOut=setTimeout("fadeOut()",1);

}

else{

dypopLayer.filters.Alpha.opacity=popOpacity;

tFadeWaiting=setTimeout("fadeIn()",tPopShow);

}

}

functionfadeIn(){

if(dypopLayer.filters.Alpha.opacity>0){

dypopLayer.filters.Alpha.opacity-=1;

tFadeIn=setTimeout("fadeIn()",1);

}

}

document.onmouseover=showPopupText;

</script>

//插入文字

document.onclick=function(){

varoSource=window.event.srcElement;

if(oSource.tagName!="DIV")

returnfalse;

varsel=document.selection;

if(sel!=null){

varrng=sel.createRange();

if(rng!=null)

rng.pasteHTML("<fontcolor=red>插入文字</font>");

}

}

//netscapte下操作xml

doc=newActiveXObject("Msxml2.DOMDocument");

doc=newActiveXObject("Microsoft.XMLDOM")

->>

doc=(newDOMParser()).parseFromString(sXML,'text/xml')

//判断键值

<html>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<head>

<scriptlanguage="javascript">

varie=navigator.appName=="MicrosoftInternetExplorer"?true:false;

functionkeyDown(e)

{

if(!ie)

{

varnkey=e.which;

variekey='现在是ns浏览器';

varrealkey=String.fromCharCode(e.which);

}

if(ie)

{

variekey=event.keyCode;

varnkey='现在是ie浏览器';

varrealkey=String.fromCharCode(event.keyCode);

if(event.keyCode==32){realkey=''空格''}

if(event.keyCode==13){realkey=''回车''}

if(event.keyCode==27){realkey=''Esc''}

if(event.keyCode==16){realkey=''Shift''}

if(event.keyCode==17){realkey=''Ctrl''}

if(event.keyCode==18){realkey=''Alt''}

}

alert('ns浏览器中键值:'+nkey+'n'+'ie浏览器中键值:'+iekey+'n'+'实际键为'+realkey);

}

document.onkeydown=keyDown;

</script>

</head>

<body>

//JavascriptDocument.

<hr>

<center>

<h3>请按任意一个键。。。。</h3>

</center>

</body>

</html>

//禁止FSO

1.注销组件

regsvr32/uscrrun.dll

2.修改PROGID

HKEY_CLASSES_ROOTScripting.FileSystemObject

Scripting.FileSystemObject

3.对于使用object的用户,修改HKEY_CLASSES_ROOTScripting.

//省略号

<DIV>

<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR>

</DIV>

//检测media play版本

<IE:clientCapsID="oClientCaps"/>

<SCRIPT>

varflash="";

WMPVersion=oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");

if(WMPVersion!=""){

flash="";

varversion=WMPVersion.split(",");

vari;

for(i=0;i<version.length;i++){

if(i!=0)

flash+=".";

flash+=version[i];

}

document.write("您的WindowsMediaPlayer版本是:"+flash+"<p>");

}

</SCRIPT>

//图象按比例

<scriptlanguage="JavaScript">

<>

</script>

<imgsrc=".."onload="DrawImage(this)">

//细线Select

<span>

<select>

<option>1111</option>

<option>11111111111111</option>

<option>111111111</option>

</select></span>

//Import

functionImport(){

for(vari=0;i<arguments.length;i++){

varfile=arguments[i];

if(file.match(/.js$/i))

document.write('<scripttype="text/javascript"src="'+file+'"></sc'+'ript>');

else

document.write('<styletype="text/css">@import"'+file+'";</style>');

}

};

//js枚举

functiongetComputerName()

{

varobjWMIService=GetObject("Winmgmts:rootcimv2");

for(e=newEnumerator(objWMIService);!e.atEnd();e.moveNext())

{

vargetComputer=e.item();

returngetComputer.Name;

}

}

//条件编译

<scriptlanguage=javascript>

/*@cc_on@*/

/*@if(@_win32&&@_jscript_version>5)

functionwindow.confirm(str)

{

execScript("n=msgbox('"+str+"',257)","vbscript");

return(n==1);

}

@end@*/

</script>

//取得innerText

<SCRIPTLANGUAGE="JavaScript">

<>

</SCRIPT>

//mergeAttributes 复制所有读/写标签属性到指定元素。

<SCRIPT>

functionfnMerge(){

oSource.children[1].mergeAttributes(oSource.children[0]);

}

</SCRIPT>

<SPANID=oSource>

<DIV

ID="oDiv"

ATTRIBUTE1="true"

ATTRIBUTE2="true"

onclick="alert('click');"

onmouseover="this.style.color='#0000FF';"

onmouseout="this.style.color='#000000';"

>

Thisisasample<B>DIV</B>element.

</DIV>

<DIVID="oDiv2">

Thisisanothersample<B>DIV</B>element.

</DIV>

</SPAN>

<INPUT

TYPE="button"

VALUE="MergeAttributes"

onclick="fnMerge()"

>

将选中内容保存为html

<HTML>

<HEAD>

<TITLE>NewDocument</TITLE>

<METANAME="Generator"CONTENT="EditPlus">

<METANAME="Author"CONTENT="">

<METANAME="Keywords"CONTENT="">

<METANAME="Description"CONTENT="">

</HEAD>

<SCRIPTLANGUAGE="JavaScript">

<>

</SCRIPT>

<BODY>

<UL>

<LI><FONTsize=2><STRIKE>显示版块帖子</STRIKE></FONT>

<LI><FONTsize=2>版块帖子分页</FONT>

<LI><FONTsize=2><STRIKE>显示单个帖子</STRIKE></FONT>

<LI><FONTsize=2><STRIKE>发送新帖</STRIKE></FONT>

<LI><FONTsize=2><STRIKE>帖子回复</STRIKE></FONT>

<LI><FONTsize=2><STRIKE>个人登陆</STRIKE></FONT>

<LI><FONTsize=2>留言的回复功能</FONT></LI></UL>

<inputtype=buttononclick="save()"value="aa">

</BODY>

</HTML>

判断是刷新还是离开

<HTML>

<HEAD>

<TITLE>判断是刷新还是关闭-www.51windows.Net</TITLE>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<METANAME="Author"CONTENT="51windows,海娃,haiwa">

<METANAME="Description"CONTENT="Powerby51windows.Net">

</HEAD>

<script>

functionCloseOpen(){

if(event.clientX<=0&&event.clientY<0){

alert("关闭");

}

else

{

alert("刷新或离开");

}

}

</script>

<bodyonunload="CloseOpen()">

</BODY>

</HTML>

获得光标位置

<textarearows=10cols=100onclick="getCursorPosition()"onkeyup="getCursorPosition()">

北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。</textarea>

<scriptlanguage=JScript>

functiongetCursorPosition(){

varsrc=event.srcElement

varoTR=src.createTextRange()

varoSel=document.selection.createRange()

vartextLength=src.innerText.length

varline,char,total,cl

oTR.moveToPoint(oSel.offsetLeft,oSel.offsetTop)

oTR.moveStart("character",-1*textLength)

cl=oTR.getClientRects()

line=cl.length

total=oTR.text.length

oTR.moveToPoint(cl[cl.length-1].left,cl[cl.length-1].top)

oTR.moveStart("character",-1*textLength)

char=total-oTR.text.length

if(oSel.offsetTop!=cl[cl.length-1].top){line++;char=0}

elseif(src.createTextRange().text.substr(oTR.text.length,2)=="rn")char-=2

window.status="行:"+line+",列:"+char+",第"+total+"个字符"

}

</SCRIPT>

TextRange的常用方法

collapse([bStart])

收起选区,并移动Range的插入点

bStarttrue(移到开头,default)false(移到末尾)

expand(sUnit)

展开选区,让单位所包括的选区被包含进来

findText(sText[,iSearchScope][,iFlags])

在Range中查找sText

iSearchScope开始位置,负数方向搜索

iFlags1(向后搜索) 2(整词匹配)4(区别大小写)

moveStart(sUnit[,iCount])

moveEnd(sUnit[,iCount])

移动Range的开头或结尾

sUnitcharacter(字)word(词)sentence(句)textedit(Range)

iCount移动数量,默认为1

moveToPoint(iX,iY)

移动光标到坐标(iX,iY)

pasteHTML(sHTMLText)

替换Range中的html

scrollIntoView([bAlignToTop])

滚动使之在当前窗口显示

bAlignToToptrue(Range在窗口开头)false(Range在窗口底部)

select()

让选区选中状态

事件源对象

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 根据宽度换行

自动刷新

<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> 禁止选取<bodyoncontextmenu="returnfalse"ondragstart="returnfalse"onselectstart="returnfalse"onselect="document.selection.empty()"oncopy="document.selection.empty()"onbeforecopy="returnfalse"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=查看网页源代码> 关闭输入法

<input> 自动全选

<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 sdfs " 获得时间所代表的微秒

var n1 = new Date("2004-10-10".replace(/-/g, "/")).getTime() 窗口是否关闭

win.closed checkbox扁平

<input type=checkbox><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'"> 获取在父文档中生成 window 的 frame 或 iframe 对像

window.frameElement 获取当前对象的内置window对象,作用于frame或iframe

document.all.object.contentWindow 连接是否访问过

event.srcElement.currentStyle.visited 组件是否安装

clientCaps.isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))

//各种尺寸

s+="rn网页可见区域宽:"+document.body.clientWidth;

s+="rn网页可见区域高:"+document.body.clientHeight;

s+="rn网页可见区域高:"+document.body.offsetWeight+"(包括边线的宽)";

s+="rn网页可见区域高:"+document.body.offsetHeight+"(包括边线的宽)";

s+="rn网页正文全文宽:"+document.body.scrollWidth;

s+="rn网页正文全文高:"+document.body.scrollHeight;

s+="rn网页被卷去的高:"+document.body.scrollTop;

s+="rn网页被卷去的左:"+document.body.scrollLeft;

s+="rn网页正文部分上:"+window.screenTop;

s+="rn网页正文部分左:"+window.screenLeft;

s+="rn屏幕分辨率的高:"+window.screen.height;

s+="rn屏幕分辨率的宽:"+window.screen.width;

s+="rn屏幕可用工作区高度:"+window.screen.availHeight;

s+="rn屏幕可用工作区宽度:"+window.screen.availWidth;

//过滤数字

<inputtype=textonkeypress="return/d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf('.')<0?event.keyCode==46:false)"onpaste="return!clipboardData.getData('text').match(/D/)"ondragenter="returnfalse">

//特殊用途

<inputtype=buttonvalue=导入收藏夹onclick="window.external.ImportExportFavorites(true,'http://localhost');">

<inputtype=buttonvalue=导出收藏夹onclick="window.external.ImportExportFavorites(false,'http://localhost');">

<inputtype=buttonvalue=整理收藏夹onclick="window.external.ShowBrowserUI('OrganizeFavorites',null)">

<inputtype=buttonvalue=语言设置onclick="window.external.ShowBrowserUI('LanguageDialog',null)">

<inputtype=buttonvalue=加入收藏夹onclick="window.external.AddFavorite('http://www.google.com/','google')">

<inputtype=buttonvalue=加入到频道onclick="window.external.addChannel('http://www.google.com/')">

<inputtype=buttonvalue=加入到频道onclick="window.external.showBrowserUI('PrivacySettings',null)">

//不缓存

<METAHTTP-EQUIV="pragma"CONTENT="no-cache">

<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate">

<METAHTTP-EQUIV="expires"CONTENT="0">

//正则匹配 匹配中文字符的正则表达式:[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,''))"

//消除图像工具栏

<IMGSRC="mypicture.jpg"HEIGHT="100px"WIDTH="100px"GALLERYIMG="false">

or

<head>

<metahttp-equiv="imagetoolbar"content="no">

</head>

//无提示关闭

functionClose()

{

varua=navigator.userAgent

varie=navigator.appName=="MicrosoftInternetExplorer"?true:false

if(ie)

{

varIEversion=parseFloat(ua.substring(ua.indexOf("MSIE")+5,ua.indexOf(";",ua.indexOf("MSIE"))))

if(IEversion<5.5)

{

varstr='<objectid=noTipCloseclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'

str+='<paramname="Command"value="Close"></object>';

document.body.insertAdjacentHTML("beforeEnd",str);

document.all.noTipClose.Click();

}

else

{

window.opener=null;

window.close();

}

}

else

{

window.close()

}

}

//取得控件得绝对位置(1)

<scriptlanguage="javascript">

functiongetoffset(e)

{

vart=e.offsetTop;

varl=e.offsetLeft;

while(e=e.offsetParent)

{

t+=e.offsetTop;

l+=e.offsetLeft;

}

varrec=newArray(1);

rec[0]=t;

rec[1]=l;

returnrec

}

</script>

//获得控件的绝对位置(2)

oRect=obj.getBoundingClientRect();

oRect.left

oRect.

//最小化,最大化,关闭

<objectid=minclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<paramname="Command"value="Minimize"></object>

<objectid=maxclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<paramname="Command"value="Maximize"></object>

<OBJECTid=closeclassid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

<PARAMNAME="Command"value="Close"></OBJECT>

<inputtype=buttonvalue=最小化onclick=min.Click()>

<inputtype=buttonvalue=最大化onclick=max.Click()>

<inputtype=buttonvalue=关闭onclick=close.Click()> //光标停在文字最后

<scriptlanguage="javascript">

functioncc()

{

vare=event.srcElement;

varr=e.createTextRange();

r.moveStart('character',e.value.length);

r.collapse(true);

r.select();

}

</script>

<inputtype=textname=text1value="123"onfocus="cc()">

//页面进入和退出的特效

进入页面<metahttp-equiv="Page-Enter"content="revealTrans(duration=x,transition=y)">

推出页面<metahttp-equiv="Page-Exit"content="revealTrans(duration=x,transition=y)">

这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使

用哪种特效,取值为1-23:

0矩形缩小

1矩形扩大

2圆形缩小

3圆形扩大

4下到上刷新

5上到下刷新

6左到右刷新

7右到左刷新

8竖百叶窗

9横百叶窗

10错位横百叶窗

11错位竖百叶窗

12点扩散

13左右到中间刷新

14中间到左右刷新

15中间到上下

16上下到中间

17右下到左上

18右上到左下

19左上到右下

20左下到右上

21横条

22竖条

23

//网页是否被检索

<metaname="ROBOTS"content="属性值">

其中属性值有以下一些:

属性值为"all":文件将被检索,且页上链接可被查询;

属性值为"none":文件不被检索,而且不查询页上的链接;

属性值为"index":文件将被检索;

属性值为"follow":查询页上的链接;

属性值为"noindex":文件不检索,但可被查询链接;

属性值为"nofollow":

//打印分页

<p>page1</p>

<p>page2</p>

//设置打印

<objectid="factory"viewastext

classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"

codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"

></object>

<inputtype=buttonvalue=页面设置onclick="factory.printing.PageSetup()">

<inputtype=buttonvalue=打印预览onclick="factory.printing.Preview()">

<scriptlanguage=javascript>

functionwindow.onload()

{

//--advancedfeatures

factory.printing.SetMarginMeasure(2)//measuremarginsininches

factory.printing.SetPageRange(false,1,3)//needpagesfrom1to3

factory.printing.printer="HPDeskJet870C"

factory.printing.copies=2

factory.printing.collate=true

factory.printing.paperSize="A4"

factory.printing.paperSource="Manualfeed"

//--basicfeatures

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

}

functionPrint(frame){

factory.printing.Print(true,frame)//printwithprompt

}

</script>

<inputtype=buttonvalue="打印本页"onclick="factory.printing.Print(false)">

<inputtype=buttonvalue="页面设置"onclick="factory.printing.PageSetup()">

<inputtype=buttonvalue="打印预览"onclick="factory.printing.Preview()"><br>

<ahref="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)关闭窗体无提示

<stylemedia=print>

.Noprint{display:none;}<>

.PageNext{page-break-after:always;}<>

</style>

<objectid="WebBrowser"width=0height=0classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">

</object>

<centerclass="Noprint">

<inputtype=buttonvalue=打印onclick=document.all.WebBrowser.ExecWB(6,1)>

<inputtype=buttonvalue=直接打印onclick=document.all.WebBrowser.ExecWB(6,6)>

<inputtype=buttonvalue=页面设置onclick=document.all.WebBrowser.ExecWB(8,1)>

</p>

<p><inputtype=buttonvalue=打印预览onclick=document.all.WebBrowser.ExecWB(7,1)>

</center>

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

<scriptlanguage="JavaScript">

varHKEY_Root,HKEY_Path,HKEY_Key;

HKEY_Root="HKEY_CURRENT_USER";

HKEY_Path="SoftwareMicrosoftInternetExplorerPageSetup";

//设置网页打印的页眉页脚为空

functionPageSetup_Null()

{

try

{

varWsh=newActiveXObject("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){}

}

//设置网页打印的页眉页脚为默认值

functionPageSetup_Default()

{

try

{

varWsh=newActiveXObject("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>

<inputtype="button"value="清空页码"onclick=PageSetup_Null()>

<inputtype="button"value="恢复页码"onclick=PageSetup_Default()>

//浏览器验证

functioncheckBrowser()

{

this.ver=navigator.appVersion

this.dom=document.getElementById?1:0

this.ie6=(this.ver.indexOf("MSIE6")>-1&&this.dom)?1:0;

this.ie5=(this.ver.indexOf("MSIE5")>-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)

returnthis;

}

//计算内容宽和高

<SCRIPTlanguage="javascript">

functiontest(obj)

{

varrange=obj.createTextRange();

alert("内容区宽度:"+range.boundingWidth

+"pxrn内容区高度:"+range.boundingHeight+"px");

}

</SCRIPT>

<BODY>

<Textareaid="txt"height="150">sdf</textarea><INPUTtype="button"value="计算内容宽度"onClick="test(txt)">

</BODY>

//无模式的提示框

functionmodelessAlert(Msg)

{

window.showModelessDialog("javascript:alert(""+escape(Msg)+"");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");

} //屏蔽按键 <html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<noscript><metahttp-equiv="refresh"content="0;url=about:noscript"></noscript>

<title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title>

</head>

<body>

<scriptlanguage="Javascript"><!--

//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键

//Author:meizz(梅花雨)2002-6-18

functiondocument.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键

functionwindow.onhelp(){returnfalse}//屏蔽F1帮助

functiondocument.onkeydown()

{

if((window.event.altKey)&&

((window.event.keyCode==37)||//屏蔽Alt+方向键←

(window.event.keyCode==39)))//屏蔽Alt+方向键→

{

alert("不准你使用ALT+方向键前进或后退网页!");

event.returnValue=false;

}

/*注:这还不是真正地屏蔽Alt+方向键,

因为Alt+方向键弹出警告框时,按住Alt键不放,

用鼠标点掉警告框,这种屏蔽方法就失效了。以后若

有哪位高手有真正屏蔽Alt键的方法,请告知。*/

if((event.keyCode==8)||//屏蔽退格删除键

(event.keyCode==116)||//屏蔽F5刷新键

(event.ctrlKey&&event.keyCode==82)){//Ctrl+R

event.keyCode=0;

event.returnValue=false;

}

if(event.keyCode==122){event.keyCode=0;event.returnValue=false;}//屏蔽F11

if(event.ctrlKey&&event.keyCode==78)event.returnValue=false;//屏蔽Ctrl+n

if(event.shiftKey&&event.keyCode==121)event.returnValue=false;//屏蔽shift+F10

if(window.event.srcElement.tagName=="A"&&window.event.shiftKey)

window.event.returnValue=false;//屏蔽shift加鼠标左键新开一网页

if((window.event.altKey)&&(window.event.keyCode==115))//屏蔽Alt+F4

{

window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");

returnfalse;

}

}

</script>

屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键

</body>

</html>

//屏蔽打印

<style>

@media print{

* {display:none}

}

</style>

//移动的图层,拖动

1.<spanonmousedown=MouseDown(this)onmousemove=MouseMove()onmouseup=MouseUp()>meizz</span>

<scriptlanguage=javascript>

varObj;

functionMouseDown(obj)

{

Obj=obj;

Obj.setCapture();

Obj.l=event.x-Obj.style.pixelLeft;

Obj.t=event.y-Obj.style.pixelTop;

}

functionMouseMove()

{

if(Obj!=null)

{

Obj.style.left=event.x-Obj.l;

Obj.style.top=event.y-Obj.t;

}

}

functionMouseUp()

{

if(Obj!=null)

{

Obj.releaseCapture();

Obj=null;

}

}

</script>

2.

<divid="myDiv"src="logo.gif"ondrag="doDrag();"onmouseover="this.style.cursor='hand'"onmousedown="doMouseDown();">

<ahref="#"onclick="returnfalse"><h1>wlecome</h1></a>

</div>

<scriptlanguage="JavaScript"type="text/javascript">

varorgMouseX;

varorgMouseY;

varorgObjX;

varorgObjY;

functiondoDrag()

{

varmyObject=document.all.myDiv;

varx=event.clientX;

vary=event.clientY;

myObject.style.left=x-(orgMouseX-orgObjX);

myObject.style.top=y-(orgMouseY-orgObjY);

}

functiondoMouseDown()

{

orgMouseX=event.clientX;

orgMouseY=event.clientY;

orgObjX=parseInt(document.all.myDiv.style.left);

orgObjY=parseInt(document.all.myDiv.style.top);

}

</script>

//文档状态改变

<iframesrc="a.html"id="f"name="f"scrolling="no"frameborder=0marginwidth=0marginheight=0></iframe>

<script>

vardoc=window.frames["f"].document;

functions(){

if(doc.readyState=="complete"){

document.all.f.style.height=doc.body.scrollHeight

document.all.f.style.width=doc.body.scrollWidth

}

}

doc.onreadystatechange=s

</script>

//刷新后不变的文本框

<HTML>

<HEAD>

<METANAME="save"CONTENT="history">

<STYLE>

.sHistory{behavior:url(#default#savehistory);}

</STYLE>

</HEAD>

<BODY>

<INPUTclass=sHistorytype=textid=oPersistInput>

</BODY>

</HTML>

//访问剪贴板

(1)拖拽访问

event.dataTransfer.setData("URL",oImage.src);

sImageURL=event.dataTransfer.getData("URL")

(2)普通访问

window.clipboardData.setData("Text",oSource.innerText);

window.clipboardData.getData("Text");

//操作COOKIE

functionSetCookie(sName,sValue)

{

document.cookie=sName+"="+escape(sValue)+";";

}

functionGetCookie(sName)

{

varaCookie=document.cookie.split(";");

for(vari=0;i<aCookie.length;i++)

{

varaCrumb=aCookie[i].split("=");

if(sName==aCrumb[0])

returnunescape(aCrumb[1]);

}

}

functionDelCookie(sName)

{

document.cookie=sName+"="+escape(sValue)+";expires=Fri,31Dec199923:59:59GMT;";

}

//setTimeout增加参数

<script>

var_st=window.setTimeout;

window.setTimeout=function(fRef,mDelay){

if(typeoffRef=='function'){

varargu=Array.prototype.slice.call(arguments,2);

varf=(function(){fRef.apply(null,argu);});

return_st(f,mDelay);

}

return_st(fRef,mDelay);

}

functiontest(x){

alert(x);

}

window.setTimeout(test,1000,'fason');

</script>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类