JavaScript高级应用,实例.docx_第1页
JavaScript高级应用,实例.docx_第2页
JavaScript高级应用,实例.docx_第3页
JavaScript高级应用,实例.docx_第4页
JavaScript高级应用,实例.docx_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/各种尺寸 s += rn网页可见区域宽(document.body.clientWidth):+ document.body.clientWidth; s += rn网页可见区域(document.body.clientHeight)高:+ document.body.clientHeight; s += rn网页可见区域高(document.body.offsetWeight):+ document.body.offsetWidth + (包括边线的宽); s += rn网页可见区域高(document.body.offsetHeight):+ document.body.offsetHeight + (包括边线的宽); s += rn网页正文全文宽(document.body.scrollWidth):+ document.body.scrollWidth; s += rn网页正文全文高(document.body.scrollHeight):+ document.body.scrollHeight; s += rn网页被卷去的高(document.body.scrollTop):+ document.body.scrollTop; s += rn网页被卷去的左(document.body.scrollLeft):+ document.body.scrollLeft; s += rn网页正文部分上(window.screenTop):+ window.screenTop; s += rn网页正文部分左(window.screenLeft):+ window.screenLeft; s += rn屏幕分辨率的高(window.screen.height):+ window.screen.height; s += rn屏幕分辨率的宽(window.screen.width):+ window.screen.width; s += rn屏幕可用工作区高度(window.screen.availHeight):+ window.screen.availHeight; s += rn屏幕可用工作区宽度( window.screen.availWidth):+ window.screen.availWidth; /过滤数字 =48&event.keyCode=57|(this.value.indexOf(.) /特殊用途 /不缓存 /正则匹配 匹配中文字符的正则表达式: u4e00-u9fa5 匹配双字节字符(包括汉字在内):x00-xff 匹配空行的正则表达式:ns| *r 匹配HTML标记的正则表达式:/.*|/ 匹配首尾空格的正则表达式:(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,)/消除图像工具栏 or /无提示关闭 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 = str += ; document.body.insertAdjacentHTML(beforeEnd, str); document.all.noTipClose.Click(); else window.opener =null; window.close(); else window.close() /取得控件得绝对位置(1) function getoffset(e) var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent) t+=e.offsetTop; l+=e.offsetLeft; var rec = new Array(1); rec0 = t; rec1 = l; return rec /获得控件的绝对位置(2) oRect = obj.getBoundingClientRect(); oRect.left oRect. /最小化,最大化,关闭 /光标停在文字最后 function cc() var e = event.srcElement; var r =e.createTextRange(); r.moveStart(character,e.value.length); r.collapse(true); r.select(); /页面进入和退出的特效 进入页面 推出页面 这个是页面被载入和调出时的一些特效。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 竖条 /网页是否被检索 其中属性值有以下一些: 属性值为all: 文件将被检索,且页上链接可被查询; 属性值为none: 文件不被检索,而且不查询页上的链接; 属性值为index: 文件将被检索; 属性值为follow: 查询页上的链接; 属性值为noindex: 文件不检索,但可被查询链接; 属性值为nofollow: /打印分页 page1 page2/设置打印 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 具体使用手册,更多信息,点这里/自带的打印预览 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) 关闭窗体无提示 .Noprintdisplay:none; .PageNextpage-break-after: always; /去掉打印时的页眉页脚 var HKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root=HKEY_CURRENT_USER; HKEY_Path=/qiantuwuliang/admin/file:/software/Microsoft/Internet ExplorerPageSetup; /设置网页打印的页眉页脚为空 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) /浏览器验证 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 test(obj) var range = obj.createTextRange(); alert(内容区宽度: + range.boundingWidth + pxrn内容区高度: + range.boundingHeight + px); sdf /无模式的提示框 function modelessAlert(Msg) window.showModelessDialog(javascript:alert(+escape(Msg)+);window.close();,status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;); /屏蔽按键 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 !- /屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键 /Author: meizz(梅花雨) 2002-6-18 function document.oncontextmenu()event.returnValue=false;/屏蔽鼠标右键 function window.onhelp()return false /屏蔽F1帮助 function document.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); return false; 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 /屏蔽打印 media print * display:none /移动的图层,拖动 1.meizz var Obj; function MouseDown(obj) Obj=obj; Obj.setCapture(); Obj.l=event.x-Obj.style.pixelLeft; Obj.t=event.y-Obj.style.pixelTop; function MouseMove() if(Obj!=null) Obj.style.left = event.x-Obj.l; Obj.style.top = event.y-Obj.t; function MouseUp() if(Obj!=null) Obj.releaseCapture(); Obj=null; 2. wlecome var orgMou*; var orgMouseY; var orgObjX; var orgObjY; function doDrag() var myObject=document.all.myDiv; var x=event.clientX; var y=event.clientY; myObject.style.left=x-(orgMou*-orgObjX); myObject.style.top=y-(orgMouseY-orgObjY); function doMouseDown() orgMou*=event.clientX; orgMouseY=event.clientY; orgObjX=parseInt(document.all.myDiv.style.left); orgObjY=parseInt(document.all.myDiv.style.top); /文档状态改变 var doc=window.framesf.document; function s() if (doc.readyState=complete) document.all.f.style.height=doc.body.scrollHeight document.all.f.style.width=doc.body.scrollWidth doc.onreadystatechange=s /刷新后不变的文本框 .sHistory behavior:url(#default#savehistory); /访问剪贴板 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.split(=); if (sName = aCrumb0) return unescape(aCrumb1); function DelCookie(sName) document.cookie = sName + = + escape(sValue) + ; expires=Fri, 31 Dec 1999 23:59:59 GMT; /setTimeout增加参数 var _st = window.setTimeout; window.setTimeout = function(fRef, mDelay) if(typeof fRef = function) var argu = Atotype.slice.call(arguments,2); var f = (function() fRef.apply(null, argu); ); return _st(f, mDelay); return _st(fRef,mDelay); function test(x) alert(x); window.setTimeout(test,1000,fason); /自定义的apply,call Ftotype.apply = function (obj, argu) if (obj) totype._caller = this; var argus = new Array(); for (var i=0;iargu.length;i+) argus = argu + i + ; var r; eval(r = + (obj ? (obj._caller( + argus.join(,) + );) : (this( + argus.join(,) + );); return r; ; Ftotype.call = function (obj) var argu = new Array(); for (var i=1;iarguments.length;i+) argui-1 = arguments; return this.apply(obj, argu); ;/下载文件 function DownURL(strRemoteURL,strLocalURL) try var xmlHTTP=new ActiveXObject(Microsoft.XMLHTTP); xmlHTTP.open(Get,strRemoteURL,fal*mlHTTP.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); /POST代替FORM Function URLEncoding(vstrIn) strReturn = For i = 1 To Len(vstrIn) ThisChr = Mid(vStrIn,i,1) If Abs(Asc(ThisChr) &HFF Then strReturn = strReturn & ThisChr Else innerCode = Asc(ThisChr) If innerCode 0 Then innerCode = innerCode + &H10000 End If Hight8 = (innerCode And &HFF00) &HFF Low8 = innerCode And &HFF strReturn = strReturn & % & Hex(Hight8) & % & Hex(Low8) End If Next URLEncoding = strReturn End Function Function bytes2BSTR(vIn) strReturn = For i = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn,i,1) If ThisCharCode &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else NextCharCode = AscB(MidB(vIn,i+1,1) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode) i = i + 1 End If Next bytes2BSTR = strReturn End Function dim strA,oReq strA = URLEncoding(submit1=Submit&text1=中文) set oReq = CreateObject(MSXML2.XMLHTTP) oReq.open POST,http:/servername/VDir/TstResult.asp%22,false oReq.setRequestHeader Content-Length,Len(strA) oReq.setReques

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论