事件源對象
event.srcElement.tagName
event.srcElement.type
捕獲釋放
event.srcElement.setCapture();
event.srcElement.releaseCapture();
解釋: 通常狀況下,若是你的鼠標移出了某個窗口/控件所在的範圍,那麼此窗口/控件將再也不繼續收到鼠標消息,若是你用SetCapture進行了鼠標捕獲,那麼,即便你的鼠標移出了窗口/控件,仍然能夠收到鼠標消息,直到你ReleaseCapture或在某個其餘的窗口/控件上進行點擊爲止。
<SCRIPT LANGUAGE="JavaScript">
<!--
var currentMoveObj = null; //當前拖動對象
var relLeft; //鼠標按下位置相對對象位置
var relTop;
function f_mdown(obj)
{
currentMoveObj = obj; //當對象被按下時,記錄該對象
currentMoveObj.style.position = "absolute";
relLeft = event.x - currentMoveObj.style.pixelLeft;
relTop = event.y - currentMoveObj.style.pixelTop;
}
window.document. = function()
{
currentMoveObj.releaseCapture();
currentMoveObj = null; //當鼠標釋放時同時釋放拖動對象
}
function f_move(obj)
{
if(currentMoveObj != null)
{
currentMoveObj.style.pixelLeft=event.x-relLeft;
currentMoveObj.style.pixelTop=event.y-relTop;
currentMoveObj.setCapture();
}
}
//-->
</SCRIPT>
<BODY>
<TABLE width="100" border=1 onselectstart="return false" style="position:absolute;left:50;top:50" onmousemove="f_move(this)">
<TR>
<TD bgcolor="#CCCCCC" align="center" style="cursor:move">title1</TD>
</TR>
<TR>
<TD align="center" height="60">content</TD>
</TR>
</TABLE>
<TABLE width="100" border=1 onselectstart="return false" style="position:absolute;left:350;top:250" onmousemove="f_move(this)">
<TR>
<TD bgcolor="#CCCCCC" align="center" style="cursor:move">title2</TD>
</TR>
<TR>
<TD align="center" height="60">content</TD>
</TR>
</TABLE>
</BODY>
事件按鍵 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.p_w_picpaths[索引] 窗體事件綁定 document. 元素 document.窗體.elements[索引] 對象綁定事件 document.all.xxx.detachEvent(' 插件數目 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="[email=aaa@bbb.com?subject=ccc&body=xxxyyy]mailto:aaa@bbb.com?subject=ccc&body=xxxyyy[/email]"> 快速轉到位置 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 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)"><br> 獲取選中內容 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對":"、"/"、";" 和 "?"也編碼 高級應用(一) ~~~~~~~~~~~~~~ //各類尺寸 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; //過濾數字 <input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false"> //特殊用途 <input type=button value=導入收藏夾 onclick="window.external.ImportExportFavorites(true,'http://localhost');"> <input type=button value=導出收藏夾 onclick="window.external.ImportExportFavorites(false,'http://localhost');"> <input type=button value=整理收藏夾 onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)"> <input type=button value=語言設置 onclick="window.external.ShowBrowserUI('LanguageDialog', null)"> <input type=button value=加入收藏夾 onclick="window.external.AddFavorite('http://www.google.com/', 'google')"> <input type=button value=加入到頻道 onclick="window.external.addChannel('http://www.google.com/')"> <input type=button value=加入到頻道 onclick="window.external.showBrowserUI('PrivacySettings',null)"> //不緩存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-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,''))" //消除圖像工具欄 <IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false"> or <head> <meta http-equiv="p_w_picpathtoolbar" content="no"> </head> //無提示關閉 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() } } //取得控件得絕對位置(1) <script language="javascript"> 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); rec[0] = t; rec[1] = l; return rec } </script> //得到控件的絕對位置(2) oRect = obj.getBoundingClientRect(); oRect.left oRect. //最小化,最大化,關閉 <object id=min classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Minimize"></object> <object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Maximize"></object> <OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <PARAM NAME="Command" value="Close"></OBJECT> <input type=button value=最小化 onclick=min.Click()> <input type=button value=最大化 onclick=max.Click()> <input type=button value=關閉 onclick=close.Click()> //光標停在文字最後 <script language="javascript"> function cc() { var e = event.srcElement; var r =e.createTextRange(); r.moveStart('character',e.value.length); r.collapse(true); r.select(); } </script> <input type=text name=text1 value="123" onfocus="cc()"> //頁面進入和退出的特效 進入頁面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)"> 推出頁面<meta http-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 //網頁是否被檢索 <meta name="ROBOTS" content="屬性值"> 其中屬性值有如下一些: 屬性值爲"all": 文件將被檢索,且頁上連接可被查詢; 屬性值爲"none": 文件不被檢索,並且不查詢頁上的連接; 屬性值爲"index": 文件將被檢索; 屬性值爲"follow": 查詢頁上的連接; 屬性值爲"noindex": 文件不檢索,但可被查詢連接; 屬性值爲"nofollow": //打印分頁 <p style="page-break-after:always">page1</p> <p style="page-break-after:always">page2</p> //設置打印 <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. { // -- 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="清空頁碼" <input type="button" value="恢復頁碼" //瀏覽器驗證 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; } //計算內容寬和高 <SCRIPT language="javascript"> function test(obj) { var range = obj.createTextRange(); alert("內容區寬度: " + range.boundingWidth + "px\r\n內容區高度: " + range.boundingHeight + "px"); } </SCRIPT> <BODY> <Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="計算內容寬度" onClick="test(txt)"> </BODY> //無模式的提示框 function modelessAlert(Msg) { window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); } //屏蔽按鍵 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <noscript><meta http-equiv="refresh" content="0;url=about:noscript"></noscript> <title>屏蔽鼠標右鍵、Ctrl+N、Shift+F十、Alt+F四、F十一、F5刷新、退格鍵</title> </head> <body> <script language="Javascript"><!-- //屏蔽鼠標右鍵、Ctrl+N、Shift+F十、F十一、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; } } </script> 屏蔽鼠標右鍵、Ctrl+N、Shift+F十、Alt+F四、F十一、F5刷新、退格鍵 </body> </html> //屏蔽打印 <style> @media print{ * {display:none} } </style> //移動的圖層,拖動 1.<span style='position:absolute;width:200;height:200;background:red' <script language=javascript> 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; } } </script> 2. <div id="myDiv" src="logo.gif" ondrag="doDrag();" onmouseover="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" <a href="#" false"><h1>wlecome</h1></a> </div> <script language="JavaScript" type="text/javascript"> var orgMouseX; 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-(orgMouseX-orgObjX); myObject.style.top=y-(orgMouseY-orgObjY); } function doMouseDown() { orgMouseX=event.clientX; orgMouseY=event.clientY; orgObjX=parseInt(document.all.myDiv.style.left); orgObjY=parseInt(document.all.myDiv.style.top); } </script> //文檔狀態改變 <iframe src="a.html" id="f" name="f" scrolling="no" frameborder=0 marginwidth=0 marginheight=0></iframe> <script> var doc=window.frames["f"].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 </script> //刷新後不變的文本框 <HTML> <HEAD> <META NAME="save" CONTENT="history"> <STYLE> .sHistory {behavior:url(#default#savehistory);} </STYLE> </HEAD> <BODY> <INPUT class=sHistory type=text id=oPersistInput> </BODY> </HTML> //訪問剪貼板 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 == aCrumb[0]) return unescape(aCrumb[1]); } } function DelCookie(sName) { document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; } //setTimeout增長參數 <script> var _st = window.setTimeout; window.setTimeout = function(fRef, mDelay) { if(typeof fRef == 'function'){ var argu = Array.prototype.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'); </script> //自定義的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 = "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; 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); } } } //POST代替FORM <SCRIPT language="VBScript"> 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",false oReq.setRequestHeader "Content-Length",Len(strA) oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded" oReq.send strA msgbox bytes2BSTR(oReq.responseBody) </SCRIPT> //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; } //鏈接數據庫 <script language="javascript"> //用 JavaScript 寫服務器端鏈接數據庫的代碼示例 var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; " +"Password=; Initial Catalog=pubs"); var rs = new ActiveXObject("ADODB.Recordset"); var sql="select * from authors"; rs.open(sql, conn); shtml = "<table width='100%' border=1>"; shtml +="<tr bgcolor='#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:<input type=text datasrc=#xmldate DataFLD=srno size="76"><BR> times:<input type=text datasrc=#xmldate DataFLD=times size="76"><BR> <input id="first" TYPE=button value="<< 第一條記錄" onclick="xmldate.recordset.moveFirst()"> <input id="prev" TYPE=button value="<上一條記錄" onclick="xmldate.recordset.movePrevious()"> <input id="next" TYPE=button value="下一條記錄>" onclick="xmldate.recordset.moveNext()"> <input id="last" TYPE=button value="最後一條記錄>>" onclick="xmldate.recordset.moveLast()"> <input id="Add" TYPE=button value="添加新記錄" onclick="xmldate.recordset.addNew()"> <XML ID="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> <a href="javascript:location.href=location.href + '?a=1&b=2'">search</a> <script language="JavaScript"> <!-- var a = location.search.substr(1); if(a.length>0) { var re = /([^&]*?)\=([^&]*)/g var s = a.match(re); for(var i= 0;i<s.length;i++) { alert(s); alert(s.split("=")[1]); } } //--> </script> </body> //可編輯SELECT <input type=text name=re_name style="width:100px;height:21px;font-size:10pt;"><span style="width:18px;border:0px solid red;"><select name="r00" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" onChange="document.all.re_name.value=this.value;"> <option value="1">11111111<option> <option value="2">222222</option> <option value="3">333333</option> </select> </span> //設置光標位置 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; } //操做EXECL <script language="javascript"> function jStartExcel() { var xls = new ActiveXObject ( "Excel.Application" ); xls.visible = true; var newBook = 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="First Column, First Cell"; newBook.Worksheets(1).Cells(2,1).value="First Column, Second Cell"; newBook.Worksheets(1).Cells(1,2).value="Second Column, First Cell"; newBook.Worksheets(1).Cells(2,2).value="Second Column, Second Cell"; newBook.Worksheets(1).Name="My First WorkSheet"; } </script> //自定義提示條 <a href="#" title="這是提示">tip</a> <script Language="JavaScript"> //***********默認設置定義.********************* tPopWait=50;//停留tWait豪秒後顯示提示。 tPopShow=5000;//顯示tShow豪秒後關閉提示 showPopStep=20; popOpacity=99; //***************內部變量定義***************** sPop=null; curShow=null; tFadeOut=null; tFadeIn=null; tFadeWaiting=null; document.write("<style type='text/css'id='defaultPopStyle'>"); document.write(".cPopText { background-color: #F8F8F5;color:#000000; border: 1px #000000 solid;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("<div id='dypopLayer' style='position:absolute;z-index:1000;' class='cPopText'></div>"); function showPopupText(){ var o=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 else popStyle="cPopText"; curShow=setTimeout("showIt()",tPopWait); } } } function showIt(){ dypopLayer.className=popStyle; dypopLayer.innerHTML=sPop; popWidth=dypopLayer.clientWidth; popHeight=dypopLayer.clientHeight; if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24 else popLeftAdjust=0; if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24 else popTopAdjust=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(); } function fadeOut(){ 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); } } function fadeIn(){ if(dypopLayer.filters.Alpha.opacity>0) { dypopLayer.filters.Alpha.opacity-=1; tFadeIn=setTimeout("fadeIn()",1); } } document. </script> //插入文字 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. //省略號 <DIV STYLE="width: 120px; height: 50px; border: 1px solid blue; overflow: hidden; text-overflow:ellipsis"> <NOBR>就是好比有一行文字,很長,表格內一行顯示不下.</NOBR> </DIV> //判斷鍵值 <html> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <head> <script language="javascript"> var ie =navigator.appName=="Microsoft Internet Explorer"?true:false; function keyDown(e) { if(!ie) { var nkey=e.which; var iekey='如今是ns瀏覽器'; var realkey=String.fromCharCode(e.which); } if(ie) { var iekey=event.keyCode; var nkey='如今是ie瀏覽器'; var realkey=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> //Javascript Document. <hr> <center> <h3>請按任意一個鍵。。。。</h3> </center> </body> </html> //檢測media play版本 <IE:clientCaps ID="oClientCaps" style="{behavior:url(#default#clientcaps)}" /> <SCRIPT> var flash=""; WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID"); if (WMPVersion != "") { flash = ""; var version = WMPVersion.split(","); var i; for (i = 0; i < version.length; i++) { if (i != 0) flash += "."; flash += version; } document.write("您的Windows Media Player 版本是:"+flash+"<p>"); } </SCRIPT> //圖象按比例 <script language="JavaScript"> <!-- //圖片按比例縮放 var flag=false; function DrawImage(ImgD){ var p_w_picpath=new Image(); var iwidth = 80; //定義容許圖片寬度 var iheight = 80; //定義容許圖片高度 p_w_picpath.src=ImgD.src; if(p_w_picpath.width>0 && p_w_picpath.height>0){ flag=true; if(p_w_picpath.width/p_w_picpath.height>= iwidth/iheight){ if(p_w_picpath.width>iwidth){ ImgD.width=iwidth; ImgD.height=(p_w_picpath.height*iwidth)/p_w_picpath.width; }else{ ImgD.width=p_w_picpath.width; ImgD.height=p_w_picpath.height; } ImgD.alt=p_w_picpath.width+"×"+p_w_picpath.height; } else{ if(p_w_picpath.height>iheight){ ImgD.height=iheight; ImgD.width=(p_w_picpath.width*iheight)/p_w_picpath.height; }else{ ImgD.width=p_w_picpath.width; ImgD.height=p_w_picpath.height; } ImgD.alt=p_w_picpath.width+"×"+p_w_picpath.height; } } } //--> </script> <img src=".." onload = "DrawImage(this)"> //細線SELECT <span style="border:1px solid #000000; position:absolute; overflow:hidden;" > <select style="margin:-2px;"> <option>1111</option> <option>11111111111111</option> <option>111111111</option> </select></span> //Import function Import() { for( var i=0; i<arguments.length; i++ ) { var file = arguments; 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; } } //條件編譯 <script language=javascript> /*@cc_on @*/ /*@if (@_win32 && @_jscript_version>5) function window.confirm(str) { execScript("n = msgbox('"+ str +"', 257)", "vbscript"); return(n == 1); } @end @*/ </script> //取得innerText <SCRIPT LANGUAGE="JavaScript"> <!-- var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); var currNode; xmlDoc.async = false; xmlDoc.async = false; xmlDoc.loadXML("<TABLENAME> 你好你阿三 大法 司法等四 </TABLENAME>"); currNode = xmlDoc.documentElement; var s = currNode.xml; var r = /\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/ var b = s.replace(r,"$2"); alert(b); //--> </SCRIPT> //mergeAttributes 複製全部讀/寫標籤屬性到指定元素。 <SCRIPT> function fnMerge(){ oSource.children[1].mergeAttributes(oSource.children[0]); } </SCRIPT> <SPAN ID=oSource> <DIV ID="oDiv" ATTRIBUTE1="true" ATTRIBUTE2="true" onmouseover="this.style.color='#0000FF';" onmouseout="this.style.color='#000000';" > This is a sample <B>DIV</B> element. </DIV> <DIV ID="oDiv2"> This is another sample <B>DIV</B> element. </DIV> </SPAN> <INPUT TYPE="button" VALUE="Merge Attributes" > JavaScript[對象.屬性]集錦 SCRIPT 標記 用於包含javascript代碼. 語法 屬性 LANGUAGE 定義腳本語言 SRC 定義一個URL用以指定以.JS結尾的文件 windows對象 每一個HTML文檔的頂層對象. 屬性 frames[] 子楨數組.每一個子楨數組按源文檔中定義的順序存放. feames.length 子楨個數. self 當前窗口. parent 父窗口(當前窗口是中一個子窗口). top 頂層窗口(是全部可見窗口的父窗口). status 瀏覽器狀態窗口上的消息. defaultStatus 當status無效時,出如今瀏覽器狀態窗口上的缺省消息. name 內部名,爲由window.open()方法打開的窗口定義的名字. 方法 alert("message") 顯示含有給定消息的"javascript Alert"對話框. confirm("message") 顯示含有給定消息的"Confirm"對話框(有一個OK按鈕和一個Cancel按鈕).若是用戶單擊OK返回true,不然返回false. prompt("message") 顯示一個"prompt"對話框,要求用戶根據顯示消息給予相應輸入. open("URL","name") 打開一個新窗口,給予一個指定的名字. close() 關閉當前窗口. frame對象 它是整個瀏覽器窗口的子窗口,除了status,defaultStatus,name屬性外,它擁有window對象的所有屬性. location對象 含有當前URL的信息. 屬性 href 整個URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中主機名:端口號部分的字符串.如//www.cenpok.net/server/ hostname 包含URL中主機名的字符串.如[url]http://www.cenpok.net [/url] port 包含URL中可能存在的端口號字符串. pathname URL中"/"之後的部分.如~list/index.htm hash "#"號(CGI參數)以後的字符串. search "?"號(CGI參數)以後的字符串. document對象 含有當前文檔信息的對象. 屬性 title 當前文檔標題,若是未定義,則包含"Untitled". location 文檔的全URL. lastModified 含有文檔最後修改日期. referrer 調用者URL,即用戶是從哪一個URL連接到當前頁面的. bgColor 背景色(#xxxxxx) fgColor 前景文本顏色. linkColor 超連接顏色. vlinkColor 訪問過的超鏈顏色. alinkColor 激活鏈顏色(鼠標按住未放時). forms[] 文檔中form對象的數組,按定義次序存儲. forms.length 文檔中的form對象數目. links[] 與文檔中全部HREF鏈對應的數組對象,按次序定義存儲. links.length 文檔中HREF鏈的數目. anchors[] 錨(...)數組,按次序定義存儲. anchors.length 文檔中錨的數目. 方法 write("string") 將字符串突出給當前窗口.(字符串能夠含有HTML標記) writeln("string") 與write()相似,在結尾追加回車符,只在預約格式文本中(...或...)生效. clear() 清當前窗口. close() 關閉當前窗口. form對象 屬性 name 中的NAME屬性的字符串值. method 中METHOD屬性的類值,"0"="GET" ,"1"="POST" . action 中ACTION屬性的字符串值. target 表格數據提交的目標,與標記中相應屬性一致. elements[index] elements屬性包含form中的各個元素. length 表格中的元素個數. 方法 submit() 提交表格. 事件處理器onSubmit() 用戶單擊一個定義好的按鈕提交form時運行的代碼. text和textarea對象 屬性 name NAME屬性的字符串值. value 域內容的字符串值. defaultValue 域內容的初始字符串值. 方法 focus() 設置對象輸入焦點. blur() 從對象上移走輸入焦點. select() 選定對象的輸入區域. 事件處理器 onFocus 當輸入焦點進入時執行. onBlur 當域失去焦點時執行. onSelect 當域中有部分文本被選定時執行. onChange 當域失去焦點且域值相對於onFocus執行有所改變時執行. 複選框(checkbox)對象 屬性 name NAME屬性的字符串值. value 複選框內容的字符串值.若是設置了,則爲"on",不然爲"off". checked 複選框內容的布爾值.若是設置了,則爲true,不然爲false . defaultChecked 反映(CHECKED)屬性的布爾值(缺省狀態). 方法 click() 選定複選框,並使之狀態爲"on". 事件處理器 onClick 當用戶單擊Checkbox時執行. 單選按鈕(radio)對象 屬性 name NAME屬性的字符串值. length radio對象中單選按鈕的個數. value VALUE屬性的字符串值. checked 布爾值,按下爲true,不然爲false . defaultChecked 反映CHECKED屬性值的布爾值. 方法 click() 選定單選按鈕. 事件處理器 onClick 當單選按鈕被選定時執行. select對象 屬性 length select對象中對象的個數. name 由NAME=屬性定義的select對象的內部名. selectedIndex select對象中當前被選option的下標. options 該屬性對應於在HTML中定義select對象時標記中的內容,它有以下屬性: text 標記後的文本串. value VALUE屬性的值,當Submit按鈕被按下時,該值被提交. defaultSelected 反映標記的SELECTED屬性的布爾值. selected 反映option的當前選擇狀態的布爾值. 事件處理器 onFocus 當輸入焦點進入域時執行. onBlur 當域失去輸入焦點時執行. onChange 當域失去焦點且若是域的值相對於onFocus執行時有所改變,則執行onChange. Button對象 表格中有三種類型按鈕,由標記中的TYPE屬性定義: .submit (type="SUBMIT") .reset (type="RESET") .custom (type="BUTTON") 全部按鈕對象都有以下成分: 屬性 value VALUE屬性的字符串值. name NAME屬性的字符串值. 方法 click() 選定按鈕 事件處理器 onClick 當按鈕被單擊時執行. submit和reset對象 屬性 value VALUE=屬性的內容. name NAME=屬性的內容. 方法 click() 選定按鈕 事件處理器 onClick 當按鈕被單擊時執行. password對象 屬性 defaultValue VALUE=屬性的內容. name NAME=屬性的內容. value 目前輸入password域的數據. 方法 focus() 將焦點帶入password域. blur 將焦點從password域移出. select() 選定password域中的當前數據,以備修改. navigator對象 該對象用於肯定用戶訪問時使用的Navigator版本. 屬性 appCodeName 相對於用戶瀏覽器的"codename" appName 相對於用戶瀏覽器的實際名字. appVersion 相對於用戶瀏覽器的版本號. userAgent 該屬性反映用戶瀏覽器的所有信息. string對象 string對象爲操做字符串的內容提供了不少方法. 屬性 length 字符串的長度,即字符串中字符的個數. 方法 big(),blink(),bold(),fixed(),italics(),small(),sub(),strike(),sup(),fontColor(color),fontSize(size) 以上方法爲字符串增長相應的HTML標記. charAt(index) 返回字符串中index處的字符. indexOf(searchValue,[fromIndex]) 該方法在字符串中尋找第一次出現的searchValue.若是給定了fromIndex,則從 字符串內該位置開始搜索,當searchValue找到後,返回該串第一個字符的位置. lastIndexOf(searchValue,[fromIndex]) 從字符串的尾部向前搜索searchValue,並報告找到的第一個實例. substring(indexA,indexB) 獲取自indexA到indexB的子串. toLowerCase(),toUpperCase() 將字符串中全部字符所有轉換成大寫,小寫. Date對象 要使用Date對象,必須先生成一個Date實例: 變量名=new Date(); 方法 getDay(),getDate(),getHours(),getMinutes(),getMonth(),getSeconds(),getTime(), getTimeZoneOffset(),getYear() 還有setDay... ... toGMTString() 用GMT格式返回當前時間. (Sun,12 Feb 1999 14:19:22 GMT) toLocaleString 用locale格式返回當前時間. (03/11/99 14:19:22) parse(date) 將普通date字符串轉換成豪秒形式,從而給setTime()作參數. Math對象 屬性 LN10 (10的天然對數) PI (3.1415926...) SQRT1_2 (1/2的平方根) 方法 abs(x) 返回x的絕對值 acos(x) 返回x的arc cosine值 asin(x) 返回x的arc sin值 atan(x) 返回x的arc tangent值 ceil(x) 返回大於等於x的最小整數 cos(x) 返回x的cosine值 exp(x) 返回e的x次方 floor(x) 返回小於等於x的最大整數 log(x) 返回x的 max(x,y) 返回x,y中的大值 min(x,y) 返回x,y中的小值 pow(x,y) 返回x的y次方 round(x) 舍入到最近整數,(小於或等於0.5小數捨去) sin(x) 返回x的sin值 sqrt(x) 返回x的平方根 tan(x) 返回x的tangent值 彈窗代碼彙總 【0、超完美彈窗代碼 】 功能:5小時彈一次+背後彈出+自動適應不一樣分辯率+準全屏顯示 代碼: <script> function openwin(){ window.open([url]http://www.6882.com[/url],"pop1","width="+(window.screen.width-15)+",height="+(window.screen.height-170)+",left=0,top=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,status=yes") setTimeout("focus();",5); } function get_cookie(Name) { var search = Name + "=" var return&#118alue = ""; if (documents&#46cookie.length > 0) { offset = documents&#46cookie.indexOf(search) if (offset != -1) { offset += search.length end = documents&#46cookie.indexOf(";", offset); if (end == -1) end = documents&#46cookie.length; return&#118alue=unescape(documents&#46cookie.substring(offset, end)) } } return return&#118alue; } function Set() { var Then = new Date() Then.setTime(Then.getTime() + 5*60*60*1000 ) documents&#46cookie = "popped1=yes;expires="+ Then.toGMTString() } function loadpopup(){ if (get_cookie('popped1')=='') { openwin() Set() } } setTimeout("loadpopup()",5); </script> 【一、最基本的彈出窗口代碼】 其實代碼很是簡單: <script language="&#106avascript"> <!-- window.open ('page.html') --> </script> 由於着是一段&#106avascripts代碼,因此它們應該放在<script language="&#106avascript">標籤和</script>之間。<!-- 和 -->是對一些版本低的瀏覽器起做用,在這些老瀏覽器中不會將標籤中的代碼做爲文本顯示出來。要養成這個好習慣啊。 window.open ('page.html') 用於控制彈出新的窗口page.html,若是page.html不與主窗口在同一路徑下,前面應寫明路徑,絕對路徑(http://)和相對路徑(../)都可。用單引號和雙引號均可以,只是不要混用。 這一段代碼能夠加入html的任意位置,<head>和</head>之間能夠,<body>間</body>也能夠,越前越早執行,尤爲是頁面代碼長,又想使頁面早點彈出就儘可能往前放。 【二、通過設置後的彈出窗口】 下面再說一說彈出窗口的設置。只要再往上面的代碼中加一點東西就能夠了。 咱們來定製這個彈出的窗口的外觀,尺寸大小,彈出的位置以適應該頁面的具體狀況。 <script language="&#106avascript"> <!-- window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no') //寫成一行 --> </script> 參數解釋: <script language="&#106avascript"> js腳本開始; window.open 彈出新窗口的命令; 'page.html' 彈出窗口的文件名; 'newwindow' 彈出窗口的名字(不是文件名),非必須,可用空''代替; height=100 窗口高度; width=400 窗口寬度; top=0 窗口距離屏幕上方的象素值; left=0 窗口距離屏幕左側的象素值; toolbar=no 是否顯示工具欄,yes爲顯示; menubar,scrollbars 表示菜單欄和滾動欄。 resizable=no 是否容許改變窗口大小,yes爲容許; location=no 是否顯示地址欄,yes爲容許; status=no 是否顯示狀態欄內的信息(一般是文件已經打開),yes爲容許; </script> js腳本結束 【三、用函數控制彈出窗口】 下面是一個完整的代碼。 <html> <head> <script language="&#106avascript"> <!-- function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" //寫成一行 } //--> </script> </head> <body > ...任意的頁面內容... </body> </html> 這裏定義了一個函數openwin(),函數內容就是打開一個窗口。在調用它以前沒有任何用途。 怎麼調用呢? 方法一:<body > 瀏覽器讀頁面時彈出窗口; 方法二:<body > 瀏覽器離開頁面時彈出窗口; 方法三:用一個鏈接調用: <a href="#" _fcksavedurl=""#"" &#111nclick="openwin()">打開一個窗口</a> 注意:使用的「#」是虛鏈接。 方法四:用一個按鈕調用: <input type="button" &#111nclick="openwin()" &#118alue="打開窗口"> 【四、同時彈出2個窗口】 對源代碼稍微改動一下: <script language="&#106avascript"> <!-- function openwin() { window.open ("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" //寫成一行 window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" //寫成一行 } //--> </script> 爲避免彈出的2個窗口覆蓋,用top和left控制一下彈出的位置不要相互覆蓋便可。最後用上面說過的四種方法調用便可。 注意:2個窗口的name(newwindows和newwindow2)不要相同,或者乾脆所有爲空。ok? 【五、主窗口打開文件1.htm,同時彈出小窗口page.html】 以下代碼加入主窗口<head>區: <script language="&#106avascript"> <!-- function openwin() {window.open("page.html","","width=200,height=200" } //--> </script> 加入<body>區: <a href="1.htm" &#111nclick="openwin()">open</a>便可。 【六、彈出的窗口之定時關閉控制】 下面咱們再對彈出的窗口進行一些控制,效果就更好了。若是咱們再將一小段代碼加入彈出的頁面(注意是加入到page.html的html中,可不是主頁面中,不然...),讓它10秒後自動關閉是否是更酷了? 首先,將以下代碼加入page.html文件的<head>區: <script language="&#106avascript"> function closeit() {settimeout("self.close()",10000) //毫秒} </script> 而後,再用<body > 這一句話代替page.html中原有的<body>這一句就能夠了。(這一句話千萬不要忘記寫啊!這一句的做用是調用關閉窗口的代碼,10秒鐘後就自行關閉該窗口。) 【七、在彈出窗口中加上一個關閉按鈕】 <form> <input type='button' &#118alue='關閉' &#111nclick='window.close()'> </form> 呵呵,如今更加完美了! 【八、內包含的彈出窗口-一個頁面兩個窗口】 上面的例子都包含兩個窗口,一個是主窗口,另外一個是彈出的小窗口。 經過下面的例子,你能夠在一個頁面內完成上面的效果。 <html> <head> <script language="&#106avascript"> function openwin() {openwindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"; //寫成一行 openwindow.document.write("<title>例子</title>" openwindow.document.write("<body bgcolor=#ffffff>" openwindow.document.write("<h1>hello!</h1>" openwindow.document.write("new window opened!" openwindow.document.write("</body>" openwindow.document.write("</html>" openwindow.document.close()} </script> </head> <body> <a href="#" &#111nclick="openwin()">打開一個窗口</a> <input type="button" &#111nclick="openwin()" &#118alue="打開窗口"> </body> </html> 看看 openwindow.document.write()裏面的代碼不就是標準的html嗎?只要按照格式寫更多的行便可。千萬注意多一個標籤或少一個標籤就會出現錯誤。記得用openwindow.document.close()結束啊。 【九、終極應用--彈出的窗口之cookie控制】 回想一下,上面的彈出窗口雖然酷,可是有一點小毛病(沉浸在喜悅之中,必定沒有發現吧?)好比你將上面的腳本放在一個須要頻繁通過的頁面裏(例如首頁),那麼每次刷新這個頁面,窗口都會彈出一次,是否是很是煩人?:-(有解決的辦法嗎?yes! ;-) follow me. 咱們使用cookie來控制一下就能夠了。 首先,將以下代碼加入主頁面html的<head>區: <script> function openwin() {window.open("page.html","","width=200,height=200"} function get_cookie(name) {var search = name + "=" var return&#118alue = ""; if (documents&#46cookie.length > 0) { offset = documents&#46cookie.indexof(search) if (offset != -1) { offset += search.length end = documents&#46cookie.indexof(";", offset); if (end == -1) end = documents&#46cookie.length; return&#118alue=unescape(documents&#46cookie.substring(offset,end)) } } return return&#118alue; } function loadpopup(){ if (get_cookie('popped')==''){ openwin() documents&#46cookie="popped=yes" } } </script> 而後,用<body >(注意不是openwin而是loadpop啊!)替換主頁面中原有的<body>這一句便可。你能夠試着刷新一下這個頁面或從新進入該頁面,窗口不再會彈出了。真正的pop-only-once! 強力彈窗代碼: <Script Language="&#106avascript"> var paypopupURL = "http://23sui.com"; var usingActiveX = true; function blockError(){return true;} window.&#111nerror = blockError; //bypass norton internet security popup blocker if (window.SymRealWinOpen){window.open = SymRealWinOpen;} if (window.NS_ActualOpen) {window.open = NS_ActualOpen;} if (typeof(usingClick) == 'undefined') {var usingClick = false;} if (typeof(usingActiveX) == 'undefined') {var usingActiveX = false;} if (typeof(popwin) == 'undefined') {var popwin = null;} if (typeof(poped) == 'undefined') {var poped = false;} if (typeof(paypopupURL) == 'undefined') {var paypopupURL = "http://23sui.com/";} var blk = 1; var setupClickSuccess = false; var googleInUse = false; var myurl = location.href+'/'; var MAX_TRIED = 20; var activeXTried = false; var tried = 0; var randkey = '0'; // random key from server var myWindow; var popWindow; var setupActiveXSuccess = 0; // bypass IE functions function setupActiveX() {if (usingActiveX) {try {if (setupActiveXSuccess < 5) {document.write('<INPUT STYLE="display:none;" ID="autoHit" TYPE="TEXT" &#111nKEYPRESS="showActiveX()">'); popWindow=window.createPopup(); popWindow.document.body.innerHTML='<DIV ID="objectRemover"><OBJECT ID="getParentDiv" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT></DIV>'; document.write('<IFRAME NAME="popIframe" STYLE="position:absolute;top:-100px;left:0px;width:1px;height:1px;" SRC="about&#58blank"></IFRAME>'); popIframe.document.write('<OBJECT ID="getParentFrame" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT>'); setupActiveXSuccess = 6;}}catch(e){if (setupActiveXSuccess < 5) {setupActiveXSuccess++;setTimeout('setupActiveX();',500);}else if (setupActiveXSuccess == 5) {activeXTried = true;setupClick(); } } } } function tryActiveX() {if (!activeXTried && !poped) {if (setupActiveXSuccess == 6 && googleInUse && popWindow && popWindow.document.getElementById('getParentDiv') && popWindow.document.getElementById('getParentDiv').object && popWindow.document.getElementById('getParentDiv').object.parentWindow) { myWindow=popWindow.document.getElementById('getParentDiv').object.parentWindow; } else if (setupActiveXSuccess == 6 && !googleInUse && popIframe && popIframe.getParentFrame && popIframe.getParentFrame.object && popIframe.getParentFrame.object.parentWindow) { myWindow=popIframe.getParentFrame.object.parentWindow;popIframe.location.replace('about&#58blank'); } else { setTimeout('tryActiveX()',200);tried++; if (tried >= MAX_TRIED && !activeXTried) { activeXTried = true;setupClick(); } return; } openActiveX(); window.windowFired=true;self.focus(); } } function openActiveX() {if (!activeXTried && !poped) {if (myWindow && window.windowFired) { window.windowFired=false; document.getElementById('autoHit').fireEvent("&#111nkeypress",(document.createEventObject().keyCode=escape(randkey).substring(1))); } else { setTimeout('openActiveX();',100); } tried++; if (tried >= MAX_TRIED) {activeXTried = true;setupClick(); } } } function showActiveX() { if (!activeXTried && !poped) {if (googleInUse) {window.daChildObject=popWindow.document.getElementById('objectRemover').children(0); window.daChildObject=popWindow.document.getElementById('objectRemover').removeChild(window.daChildObject); } newWindow=myWindow.open(paypopupURL,'abcdefg'); if (newWindow) { newWindow.blur(); self.focus();activeXTried = true;poped = true; } else { if (!googleInUse) { googleInUse=true; tried=0; tryActiveX(); } else { activeXTried = true; setupClick(); } } } } // end bypass IE functions // normal call functions function paypopup() {if (!poped) {if(!usingClick && !usingActiveX) {popwin = window.open(paypopupURL,'abcdefg'); if (popwin) {poped = true; } self.focus(); } } if (!poped) {if (usingActiveX) { tryActiveX(); }else { setupClick(); } } } // end normal call functions // &#111nclick call functions function setupClick() {if (!poped && !setupClickSuccess) { if (window.Event) document.captureEvents(Event.CLICK); prePaypop&#111nclick = document.&#111nclick; document.&#111nclick = gopop;self.focus(); setupClickSuccess=true; } } function gopop() {if (!poped) { popwin = window.open(paypopupURL,'abcdefg'); if (popwin) { poped = true; } self.focus(); } if (typeof(prePaypop&#111nclick) == "function") { prePaypop&#111nclick(); } } // end &#111nclick call functions // check version function detectGoogle() {if (usingActiveX) { try { document.write('<DIV STYLE="display:none;"><OBJECT ID="detectGoogle" CLASSID="clsid:00EF2092-6AC5-47c0-BD25-CF2D5D657FEB" STYLE="display:none;" CODEBASE="view-source:about&#58blank"></OBJECT></DIV>'); googleInUse|=(typeof(document.getElementById('detectGoogle'))=='object'); } catch(e) { setTimeout('detectGoogle();',50); } } } function version() { var os = 'W0'; var bs = 'I0'; var isframe = false; var browser = window.navigator.userAgent; if (browser.indexOf('Win') != -1) { os = 'W1'; } if (browser.indexOf("SV1") != -1) { bs = 'I2'; } else if (browser.indexOf("Opera") != -1) { bs = "I0"; } else if (browser.indexOf("Firefox") != -1) { bs = "I0"; } else if (browser.indexOf("Microsoft") != -1 || browser.indexOf("MSIE") != -1) { bs = 'I1'; } if (top.location != this.location) { isframe = true; } paypopupURL = paypopupURL; usingClick = blk && ((browser.indexOf("SV1") != -1) || (browser.indexOf("Opera") != -1) || (browser.indexOf("Firefox") != -1)); usingActiveX = blk && (browser.indexOf("SV1") != -1) && !(browser.indexOf("Opera") != -1) && ((browser.indexOf("Microsoft") != -1) || (browser.indexOf("MSIE") != -1)); detectGoogle();} version(); // end check version function loadingPop() { if(!usingClick && !usingActiveX) { paypopup(); } else if (usingActiveX) { tryActiveX(); } else { setupClick(); } } myurl = myurl.substring(0, myurl.indexOf('/',8)); if (myurl == '') { myurl = '.'; } setupActiveX(); loadingPop(); self.focus(); </Script> JS代碼判斷集錦(之一) ~~~~~~~~~~~~~~~~~~ <script language="JavaScript"> function checkid(iden,year,month,day){ if (iden.value.length==15) { if ((iden.value.lastIndexOf(month.value+day.value))==8) { return true; } return false; } if (iden.value.length==18) { if ((iden.value.indexOf(year.value+month.value+day.value))==6) { return true; } return false; } return false; } function isCharsInBag (s, bag) { var i; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (bag.indexOf(c) == -1) return false; } return true; } function isEmpty(s) { return ((s == null) || (s.length == 0)) } function isWhitespace (s) { var whitespace = " \t\n\r"; var i; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (whitespace.indexOf(c) >= 0) { return true; } } return false; } function isEmail (s,t) { if (isEmpty(s)) { window.alert("輸入的E-mail地址不能爲空,請輸入!"); mobj = eval(t); mobj.focus(); mobj.select(); return false } if (isWhitespace(s)) { window.alert("輸入的E-mail地址中不能包含空格符,請從新輸入!"); mobj = eval(t) mobj.focus() mobj.select() return false; } var i = 1; var len = s.length; if (len > 50) { window.alert("email地址長度不能超過50位!"); mobj = eval(t) mobj.focus() mobj.select() return false; }