JS在window和document的應用


頁面跳轉: 
window.location.href('地址') 
window.open('地址', '_self') 
打開新窗口: 
window.open('地址', '_blank') 
只顯示地址欄:window.open('地址', 'title', 'location=1, height=200, width=500') 
只顯示狀態欄:window.open('地址', 'title', 'status=1') 
只顯示工具欄:window.open('地址', 'title', 'toolbar=1') 
只顯示菜單欄:window.open('地址', 'title', 'menubar=1') 
一個不少:window.open('地址', 'title) 
光棍但可以調整大小:window.open('地址', 'title', 'resizable=1') 
去掉所有空格: 
Object.replace(/^\s+|\s+$/g, "") 
屏蔽鼠標: 
oncontextmenu="window.event.returnValue=false" 
取消選取: 
onselectstart="return false" 
不允許粘貼: 
onpaste="return false" 
關閉輸入法: 
<input style="ime-mode:disabled"> 
不允許另存為: 
<noscript><iframe src=*.html></iframe></noscript> 
得到上一頁來源: 
document.referrer 
彈出窗口總在最上: 
<body > 
彈出確認對話框: 
comfirm('文本')" 
<script>if(confirm('文本')){//確定}else{//取消} 
回車轉換Tab鍵: 
if(window.event.keyCode==13){event.keyCode=9} 
返回上一頁: 
history.Go(-1) 
重新加載頁面: 
window.location.reload() 
子頁面中調父頁面中的方法: 
window.opener.function() 
子頁面中訪問父頁面中名為name的控件值: 
window.opener.name.value 
子頁面中訪問父頁面中表單中名為name的控件值: 
window.opener.formName.nam.value 
得到控件的絕對位置: 
function getIE() { 
var t = e.offsetTop; 
var l = e.offsetLeft; 
while (e = e.offsetParent) { 
t += e.offsetTop; 
l += e.offsetLeft; 

alert("top=" + t + " and left=" + l); 

光標停在文本框文字的最后: 
function toEnd() { 
var e = event.srcElement; 
var r = e.createTextRange(); 
r.moveStart("character", e.value.length); 
r.collapse(true); 
r.select(); 

<input type="text" value="end" > 
屏蔽功能鍵(Shift, Alt, Ctrl) 
function testKey() { 
if (event.shiftKey) { // altKey; ctrlKey 
alert("Shift"); 


不要滾動條: 
<body scroll="no"> 
讓豎條沒有: 
<body style="overflow:scroll; overflow-y: hidden"> 
讓橫條沒有: 
<body style="overflow:scroll; overflow-x: hidden"> 
去掉圖片鏈接點擊后圖片周圍的虛線: 
<a href="#" ><img src="test.jpg"></a> 
在子窗體中刷新父窗體: 
window.opener.location.reload() 
設置打開窗口的大小: 
<body 100)"> 
設置打開窗口的位置: 
<body 100)"> 
得到窗體大小: 
document.body.clientWidth; 
document.body.clientHeight; 
TEXTAREA自適應文字行數: 
<textarea rows="1" cols="17" onpropertychange="this.style.posHeight=this.scrollHeight></textarea> 
屏蔽腳本錯誤: 
function killErrors() { 
return true; 

window.onerror=killErrors(); 
判斷是否是字符: 
if (/[^/x00-/xff]/g.test(str)) { 
alert("有漢字"); 
} else { 
alert("全是字符"); 

screen.屬性: 
availHeight 獲取系統屏幕的工作區域高度,排除 Microsoft&reg; Windows&reg; 任務欄。 
availWidth 獲取系統屏幕的工作區域寬度,排除 Windows 任務欄。 
bufferDepth 設置或獲取用於畫面外位圖緩沖顏色的每像素位數。 
colorDepth 獲取用於目標設置或緩沖區的顏色每像素位數。 
deviceXDPI 設置或獲取系統屏幕水平每英寸點數(DPI)的數值。 
deviceYDPI 設置或獲取系統屏幕垂直每英寸點數(DPI)的數值。 
fontSmoothingEnabled 獲取用戶是否在控制面板的顯示設置中啟用了圓整屏幕字體邊角的選項。 
height 獲取屏幕的垂直分辨率。 
logicalXDPI 獲取系統屏幕水平每英寸點數(DPI)的常規數值。 
logicalYDPI 獲取系統屏幕垂直每英寸點數(DPI)的常規數值。 
updateInterval 設置或獲取屏幕的更新間隔。 
width 獲取屏幕的垂直分辨率。 
得到div的height值: 
div.offsetHeight(帶滾動條的完整高度) 
div.clientHeight(內容的高度) 
各種尺寸 
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="imagetoolbar" content="no"> 
</head> 
光標停在文字最后 
<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   
計算內容寬和高 
<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+F10、Alt+F4、F11、F5刷新、退格鍵</title> 
</head> 
<body> 
<script language="Javascript"><!-- 
  //屏蔽鼠標右鍵、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; 
   } 

</script> 
屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵 
</body> 
</html> 
//屏蔽打印 
<style> 
@media print{ 
* {display:none} 

</style> 
刷新后不變的文本框

<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); 
   } 

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM