JavaScript的小技巧
/ / setTimeout的增加参数的<script> 风险 _st = window.setTimeout; window.setTimeout = 功能(fRef,使用mdelay){ 如果(typeof运算fRef =='功能'){ VaR的 申辩= 阵)。prototype.slice.call(参数,2; 风险值 f =(函数(){fRef.apply(空,申辩);}); 返回 _st(女,使用mdelay); } 返回 _st(fRef,使用mdelay); } 功能 测试(x)的{ 警报(十); } window.setTimeout(测试,1000,'fason'); </脚本>/ /自定义的应用,呼叫Function.prototype.apply的= 功能 (OBJ文件,申辩){ 如果 (obj的)obj.constructor.prototype._caller = 本; 风险 乌鳢= 新的 阵列(); 为(风险值 = 0;我<argu.length,我+ +) 阿古斯[我] = “申辩[” +我+ “]”; 风险 ?; 的eval(“ 住宅=” +(obj的(?“obj._caller(” + argus.join(“”)+ “);”):( “本(” + argus.join(“”)+ “) ;“))); 返回 ?; }; Function.prototype.call = 功能 (obj的){ VaR的 申辩= 新的 阵列(); 为(风险 我= 1;我<的arguments.length;我+ +) 申辩[的i - 1] =参数[我]; 返回 本)。适用(obj的,申辩; }; / /下载文件功能 址址(strRemoteURL,strLocalURL) { 尝试 { 风险 的XMLHTTP =新 的ActiveXObject(“Microsoft.XMLHTTP”); xmlHTTP.open(“ 获取”,strRemoteURL,假); xmlHTTP.send(); 风险 adodbStream =新 的ActiveXObject(“的ADODB.Stream”); adodbStream.Type = 1;/ / 1 = adTypeBinary adodbStream.Open(); adodbStream.write(xmlHTTP.responseBody); adodbStream.SaveToFile(strLocalURL,2); adodbStream.Close(); adodbStream =空; XMLHTTP的=空; } 赶上(五) { window.confirm(“ 下载网址出错!”); } / / window.confirm(“ 下载完成。”); }/ /检验连接是否有效功能 getXML(网址) { 风险 的XMLHTTP = 新 的ActiveXObject(“microsoft.xmlhttp”); xmlhttp.Open(“GET”的,网址, 假); 尝试 { xmlhttp.Send(); } 赶上(五){} 最后 { VaR的 结果= xmlhttp.responseText; 如果(结果) { 如果(xmlhttp.Status == 200) { 返回(真); } 其他 { 返回(假); } } 其他 { 返回(假); } } }/ /邮政代替表格<脚本语言=“VBScript中”> 功能URLEncoding(vstrIn) strReturn = “” 对于i = 1为len(vstrIn) ThisChr =中等(vStrIn,一,1) 如果ABS装置(升序(ThisChr))<&HFF石英晶然后 strReturn = strReturn&ThisChr 其他 innerCode =升序(ThisChr) 如果innerCode <0,则 innerCode = innerCode +&H10000 结束如果 Hight8 =(innerCode和&HFF00)\&HFF石英晶 Low8 =和&HFF石英晶innerCode strReturn = strReturn& “%” &十六进制(Hight8)& “%” &十六进制(Low8) 结束如果 下一页 URLEncoding = strReturn 完功能 功能bytes2BSTR(VIN)的 strReturn = “” 对于i = 1到的LenB(VIN)的 ThisCharCode =的AscB(MidB(VIN,这我,1)) 如果ThisCharCode <&H80然后 strReturn = strReturn及染色体(ThisCharCode) 其他 NextCharCode =的AscB(MidB(VIN,这我+1,1)) strReturn = strReturn及染色体(CLng函数(ThisCharCode)*&H100的256 +(NextCharCode)) 我=我+ 1 结束如果 下一页 bytes2BSTR = strReturn 完功能 昏暗strA,oReq strA = URLEncoding(“submit1 =提交与文本1 =中文”) 设置oReq =的CreateObject(“MSXML2.XMLHTTP”) oReq.open “邮政”,“网址:Http:/ /服务器名/ VDir / TstResult.asp“, 假 oReq.setRequestHeader “内容长度”,莱恩(strA) oReq.setRequestHeader “内容型”,“应用程序/ x - www的形式,进行了urlencoded” oReq.send strA msgbox bytes2BSTR(oReq.responseBody) </脚本>/ / readyState的是XMLHTTP的返回数据的进度,0 =载入中,1 =未初始化,2 =已载入,3 =运行中,4 =完成 / /组件是否安装 isComponentInstalled(“{6B053A4B - A7EC - 4D3D - 4567 - B8FF8A1A5739}”,“的ComponentID”))/ /检查网页是否存在 功能 CheckURL(网址) { 风险 的XMLHTTP = 新 的ActiveXObject(“Microsoft.XMLHTTP”); xmlhttp.Open(“GET”的,网址, 假); 尝试 { xmlhttp.Send(); VaR的 结果= xmlhttp.status; } 赶上(五){返回(假);} 如果(结果== 200) { 返回 真; } XMLHTTP的= 空; 返回 假; } / /连接数据库 <脚本语言=“JavaScript的”> / /用的JavaScript写服务器端连接数据库的代码示例 风险 康恩= 新 的ActiveXObject(“ADODB.Connection”); conn.Open(“ 供应商= SQLOLEDB.1; =本地主机的数据源,用户ID = SA的;” +“密码=;初始目录=酒吧”); 风险 的RS = 新 的ActiveXObject(“ADODB.Recordset”); 风险值 的sql =“选择*从作者”; rs.open(SQL中,康恩); shtml = “<表width='100%' border=1>”; shtml + =“<tr bgcolor='#f4f4f4'> <td> au_id </运输署> <td>的au_lname </运输署> <td> au_fname </运输署> <td>电话</运输署> <td>地址< /运输署> <td>城市</运输署> <td>状态</运输署> <td>邮编</运输署> </入门>“; 而(!首页公告') { shtml + = “<tr> <td>” +的RS(“au_id”)+ “</运输署> <td>” + R(可“的au_lname”)+ “</运输署> <td>” +遥感(“au_fname “)+ “</运输署> <td>” +遥感(“手机”)+ “</运输署> <td>” +遥感(“地址”)+ “</运输署> <td>” + R(可“城市“)+ “</运输署> <td>” +遥感(“国家”)+ “</运输署> <td>” + R(可“压缩”)+ “</运输署> </入门>”; rs.moveNext; } shtml + = “</表格”>“; document.write(shtml); rs.close(); 遥感= 空; conn.close(); 康恩= 空; </脚本>/ /使用数据岛 <html> 的<body> srno:<输入类型=文字的datasrc =#xmldate的datafld = srno大小=“76”> <br>物理化学 时间:<输入类型=文字的datasrc =#xmldate倍大小的datafld = =“76”> <br>物理化学 <输入ID =“第一个” 类型=按钮的值=“<<第一条记录” 的OnClick =“xmldate.recordset.moveFirst()”> <输入ID =“上一页” 按钮的值类型= =“<上一条记录” 的OnClick =“xmldate.recordset.movePrevious()”> <输入ID =“下一步” 按钮的值类型= =“下一条记录>” 的OnClick =“xmldate.recordset.moveNext()”> <输入ID =“最后” 类型=按钮的值=“最后一条记录>>” 的OnClick =“xmldate.recordset.moveLast()”> <输入ID =“新增” 按钮的值类型= =“添加新记录” 的OnClick =“xmldate.recordset.addNew()”> <XML的标识=“xmldate”> <infolist> <info> <srno> 20041025-01 </ srno> <times>空</次> </信息> <info> <srno> 20041101-09 </ srno> <times> 2004年10月1日2点22分0秒</次> </信息> </ infolist> </ XML的> </身体> </的HTML>/ /获得参数的<body> <一的HREF =“JavaScript的:location.href = location.href + 2?一= 1和B ='”>搜索</一> <脚本语言=“JavaScript的”> <! - 风险 一= location.search.substr(1); 如果(a.length> 0) { 风险 重新= /([^&]*?) \ =([^&]*)/克 风险 商S = a.match(重新); 为(风险值 = 0;我<s.length;我+ +) { 快讯(的[我]); 快讯(的[我](。分割“=”)[1]); } } //--> </脚本> </身体>/ /可编辑选择<输入类型=文字名称= re_name风格=“宽度:100像素,高度:21px;字体大小:新细明体;”> <跨越式=“宽度:18px;边界:0px坚实的红色;”> <选择名称=“通知书RR “ 风格=“保证金左:- 100px的;宽度:118px;背景颜色:#FFEEEE;” 的onChange =“document.all.re_name.value = this.value;”> <选项值=“1”> 11111111 <选项 <选项值=“2”> 222222 </选项“> <选项值=“3”> 333333 </选项“> </选择“> </跨度> / /设置光标位置 功能 getCaret(文本) { 风险 控制= document.activeElement; textbox.focus(); VaR的 范围= document.selection.createRange(); rang.setEndPoint(“StartToStart”,textbox.createTextRange()) control.focus(); 返回 rang.text.length; } 功能 setCaret(文本框,POS机) { 尝试 { 风险 ? = textbox.createTextRange(); r.moveStart('字符',POS机); r.collapse(真); r.select(); } 赶上(五) {} } 功能 selectLength(文本,启动,len个) { 尝试 { 风险 ? = textbox.createTextRange(); r.moveEnd('字符',len个-(textbox.value.length启动)); r.moveStart('性格',启动); r.select(); } 赶上(五) {/ /警报(e.description)} } 功能 insertAtCaret(文本框,文本) { textbox.focus(); document.selection.createRange()文本=文本。 } / /页内查找 功能 findInPage序列(STR) { 风险 txt的,我发现,n = 0时; 如果 序列(STR == “”) { 返回 假; } txt的= document.body.createTextRange(); 对(我= 0;我<= n和&(发现= txt.findText序列(STR))=! 假,我+ +) { txt.moveStart(“ 人物”,1); txt.moveEnd(“ 文字编辑”); } 如果 (中) { txt.moveStart(“ 人物”,-1); txt.findText序列(STR); txt.select(); txt.scrollIntoView(); 名词+ +; } 其他 { 如果 (?> 0) { n = 0时; findInPage序列(STR); } 其他 { 警报序列(STR + “...您要找的文字不存在查找。\ ? \ ?请试着输入页面中的关键字再次!”); } } 返回 假; }/ /书/ /操作EXECL <脚本语言=“JavaScript的”> 功能 jStartExcel(){ 风险 xls的= 新 的ActiveXObject ( “Excel.Application的” ); xls.visible = 真实; 风险 newBook = xls.Workbooks.Add; newBook.Worksheets.Add; 。newBook.Worksheets(1)启动; xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2; xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5; newBook.Worksheets(1)(。列的“A”)50。columnwidth =; newBook.Worksheets(1)(。列的“A”)=。WrapText 真实; newBook.Worksheets(1)(。栏的“B”)50。columnwidth =; newBook.Worksheets(1)(。栏的“B”)=。WrapText 真实; newBook.Worksheets(1)(。范围“格A1:B1000”)=。NumberFormat的 “0”; newBook.Worksheets(1)(。范围“格A1:B1000”);。的HorizontalAlignment = -4131 (1)。newBook.Worksheets细胞(1,1)=。Interior.ColorIndex“15”; 1)。细胞newBook.Worksheets(1,1)。(值=“第一栏,第一个单元格”; 1)。细胞newBook.Worksheets(2,1)。(值=“第一列,第二个单元格”; 1)。细胞newBook.Worksheets(1,2)。(值=“第二栏,第一个单元格”; 1)。细胞newBook.Worksheets(2,2)。(值=“第二列,第二个单元格”; newBook.Worksheets(1)=。名称“我的第一个工作表”; } </脚本>/ /自定义提示条 <一的HREF =“#” 称号=“这是提示”>提示</一> <脚本语言=“JavaScript的”> //***********默认设置定义.********************* tPopWait = 50;/ /停留tWait豪秒后显示提示。 tPopShow = 5000;/ /显示tShow豪秒后关闭提示 showPopStep = 20; popOpacity = 99; //***************内部变量定义***************** sPop =空; curShow =空; tFadeOut =空; tFadeIn =空; tFadeWaiting =空; document.write(“<样式type='text/css'id='defaultPopStyle'>”); document.write(“。cPopText {背景颜色:#F8F8F5;颜色:#000000;边界:1px#000000固体;字体颜色:字体大小:12px;填充右:4px;填充左:4px;高度:20像素,填充顶:2px;填充底:2px;过滤器:阿尔法(不透光率= 0)}“); document.write(“</样式>”); document.write(“<div id='dypopLayer' style='position:absolute;z-index:1000;' class='cPopText'> </格>”); 功能 showPopupText(){ 风险 ? = event.srcElement; MouseX = event.x; 像老鼠= event.y; 如果(o.alt =!空 &&o.alt =!“”){o.dypop = o.alt; o.alt =“”}; 如果(o.title =!空 &&o.title =!“”=){o.dypop = o.title; o.title“”}; 如果(o.dypop!= sPop){ sPop = o.dypop; clearTimeout(curShow); clearTimeout(tFadeOut); clearTimeout(tFadeIn); clearTimeout(tFadeWaiting); 如果(sPop ==空 | | sPop ==“”){ dypopLayer.innerHTML =“”; dypopLayer.style.filter =“阿尔法()”; dypopLayer.filters.Alpha.opacity = 0; } 否则 { 如果(o.dyclass!=空)popStyle = o.dyclass 其他 popStyle =“cPopText”; curShow = setTimeout的(“showIt()”,tPopWait); } } } 功能 showIt(){ dypopLayer.className = popStyle; dypopLayer.innerHTML = sPop; popWidth = dypopLayer.clientWidth; popHeight = dypopLayer.clientHeight; 如果(MouseX 12 + popWidth> document.body.clientWidth)popLeftAdjust =- popWidth - 24 否则 popLeftAdjust = 0; 如果(像老鼠12 + popHeight> document.body.clientHeight)popTopAdjust =- popHeight - 24 否则 popTopAdjust = 0; dypopLayer.style.left = MouseX 12 + document.body.scrollLeft + popLeftAdjust; dypopLayer.style.top = mouseY的12 + document.body.scrollTop + popTopAdjust; dypopLayer.style.filter =“阿尔法(不透光率= 0)”; 淡出(); } 功能 淡出(){ 如果(dypopLayer.filters.Alpha.opacity <popOpacity){ dypopLayer.filters.Alpha.opacity + = showPopStep; tFadeOut = setTimeout的(“淡出()”,1); } 否则 { dypopLayer.filters.Alpha.opacity = popOpacity; tFadeWaiting = setTimeout的(“淡入()”,tPopShow); } } 函数 淡入(){ 如果(dypopLayer.filters.Alpha.opacity> 0){ dypopLayer.filters.Alpha.opacity - = 1; tFadeIn = setTimeout的(“淡入()”,1); } } document.onmouseover = showPopupText; </脚本>/ /插入文字 document.onclick =函数(){ 风险 oSource = window.event.srcElement; 如果(oSource.tagName!=“的DIV”) 返回 假; 风险 SEL为document.selection; 如果 (sel! =空){ 风险 RNG的= sel.createRange(); 如果 (rng! =空) rng.pasteHTML(的“<font color=red>插入文字</字体>”); } } / / netscapte下操作的XMLdoc的= 新 的ActiveXObject(“Msxml2.DOMDocument”); doc的= 新 的ActiveXObject(“Microsoft.XMLDOM”) - “” 文档=(新 DOMParser())。parseFromString(sXML,'文本/ xml') / /判断键值<html> <元HTTP的当量=“内容类型” 的内容=“文本/ 250; = GB2312的字符集”> 的<head> <脚本语言=“JavaScript的”> 风险 即= navigator.appName ==“Microsoft Internet Explorer的”?真:假; 函数 的keydown(五) { 如果(!即) { 风险 nkey = e.which; 风险 iekey ='现在是ns的浏览器'; 风险 realkey =字符串)。fromCharCode(e.which; } 如果(IE)的 { 风险 iekey = event.keyCode; 风险 nkey ='现在是即浏览器'; 风险 realkey =字符串)。fromCharCode(event.keyCode; 如果(event.keyCode == 32){realkey ='\'空格\ ''} 如果(event.keyCode == 13){realkey ='\'回车\ ''} 如果(event.keyCode == 27){realkey ='\'Esc键\ ''} 如果(event.keyCode == 16){realkey ='\'移\ ''} 如果(event.keyCode == 17){realkey ='\'Ctrl键\ ''} 如果(event.keyCode == 18){realkey ='\'Alt键\ ''} } 警报('ns的浏览器中键值:'+ nkey +为'\ n'+',即浏览器中键值:'+ iekey +为'\ n'+'实际键为'+ realkey); } document.onkeydown = KeyDown的; </脚本> </头> 的<body> / / JavaScript的文档。 <hr>快来 <center>立即 <h3>请按任意一个键。。。。</蛋白H3> </中心> </身体> </的HTML> / /禁止电影服务统筹科 1。注销组件 键入regsvr32 / ü Scrrun.dll中 2。修改的PROGID HKEY_CLASSES_ROOT \ Scripting.FileSystemObject的 Scripting.FileSystemObject的 3。对于使用对象的用户,修改HKEY_CLASSES_ROOT \脚本。/ /省略号<DIV的风格=“宽度:120px;高度:50px的;边界:1px固体蓝色; 溢出:隐藏;文本溢出:省略号“> <NOBR>就是比如有一行文字,很长,表格内一行显示不下。</ NOBR> </ DIV的> / /检测媒体播放版本 <IE浏览器:clientCaps的ID =“oClientCaps” 的风格=“{行为:网址(#默认#clientcaps)}” /> 的<SCRIPT> VaR的 闪光灯=“”; WMPVersion = oClientCaps.getComponentVersion(“{22D6F312 - B0F6 - 11D0 - 94AB - 0080C74C7E95}” ,“的ComponentID”); 如果 (WMPVersion!= “”){ 闪光= “”; VaR的 版本= WMPVersion.split(“,”); VaR的 我; 对(我= 0;我<version.length,我+ +){ 如果 (我!= 0) 闪光+ = “。”; 闪存+ =版本[我]; } document.write(“ 您的Windows媒体播放器版本是:”+闪存+“<p>”); } </脚本> / /图象按比例 <脚本语言=“JavaScript的”> <! - / /图片按比例缩放 风险 旗=虚假; 函数 的DrawImage(ImgD){ VaR的 形象=新 形象(); 风险 iwidth = 80; / /定义允许图片宽度 风险 iheight = 80; / /定义允许图片高度 image.src = ImgD.src; 如果(看下图> 0&&image.height> 0){ 标志为真; 如果(看下图/ image.height> = iwidth / iheight){ 如果(看下图> iwidth){ ImgD.width = iwidth; ImgD.height =(image.height * iwidth)/看下图; }否则{ ImgD.width =看下图; ImgD.height = image.height; } ImgD.alt =看下图+“×”+ image.height; } 否则{ 如果(image.height> iheight){ ImgD.height = iheight; ImgD.width =(看下图* iheight)/ image.height; }否则{ ImgD.width =看下图; ImgD.height = image.height; } ImgD.alt =看下图+“×”+ image.height; } } } //--> </脚本> <img钢骨混凝土=“..” 的OnLoad = “的DrawImage(本)”> / /细线选择 <跨越 式=“边界:1px固体#000000;的位置是:绝对的溢出:隐藏;” > <选择 风格=“保证金:- 2px;”> <选项> 1111 </选项> <选项> 11111111111111 </选项> <选项> 111111111 </选项> </选择> </跨度>/ /导入功能 导入(){ 为( 风险值 = 0;我<的arguments.length;我+ +){ VaR的 文件=参数[我]; 如果 (file.match(/ \。js的$ / i)条) document.write(“<脚本类型= \”文本/ JavaScript的\“钢骨混凝土= \”'+文件+'\“> </ SC的'+'ript>”); 其他 document.write(“<风格类型= \”缃/ title \“> @进口\“'+文件+'\”; </样式>“); } };/ / js的枚举 功能 getComputerName() { 风险 objWMIService =的GetObject(“Winmgmts:root \ cimv2名称”); 下(e = 新 统计员(objWMIService);!e.atEnd(); e.moveNext()) { 风险 getComputer = e.item(); 返回 getComputer.Name; } }/ /条件编译 <script language=javascript> / * @ cc_on @ * / / * @如果(@&@ _jscript_version _win32“5) 功能window.confirm(海峡) { execScript(“北= msgbox('”+ str的+“',257)”,“VBScript中”); 返回(不适用== 1); } @ @结束* / </脚本>/ /取得的innerText <脚本语言=“JavaScript的”> <! - 风险 xmlDoc中= 新 的ActiveXObject(“Msxml2.DOMDocument.4.0”); 风险 currNode; xmlDoc.async = 虚假的; xmlDoc.async = 虚假的; xmlDoc.loadXML(“<表名称>你好你阿三大法司法等四</表名>”); currNode = xmlDoc.documentElement; 风险 商S = currNode.xml; 风险 ? = / \ <([^“\> \ S的]*?)[^”\>] *?“\>([^ \ <]*?) \ <\ / \ 1 \”/ 风险 b = s.replace(001“$ 2”); 快讯(二); //--> </脚本>/ / mergeAttributes复制所有读/写标签属性到指定元素。的<SCRIPT> 功能 fnMerge(){ oSource.children [1] mergeAttributes(oSource.children [0])。 } </脚本> <SPAN ID=oSource> <DIV的 编号=“oDiv” ATTRIBUTE1 =“真” ATTRIBUTE2 =“真” 的OnClick =“警报('点击');” onmouseover =“this.style.color ='#000000';” onmouseout =“this.style.color ='#000000';” > 这是一个示例的<b>的DIV </乙>元素。 </ DIV的> <的DIV的ID =“oDiv2”> 这是另一个样的<b>的DIV </乙>元素。 </ DIV的> </跨度> <输入 类型=“按钮” 值=“合并属性” 的OnClick =“fnMerge()” >