1. 程式人生 > >JavaScript中window.open用法例項詳解

JavaScript中window.open用法例項詳解

本文較為詳細的分析了JavaScript中window.open用法。分享給大家供大家參考。具體如下:

複製程式碼 程式碼如下: <script LANGUAGE="javascript">
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>

引數解釋:

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為允許;

1、用函式控制彈出視窗
 
下面是一個完整的程式碼。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <html> <head> <script LANGUAGE="Javascript"> <!-- 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 onload="openwin()"> ...任意的頁面內容... /body> </html>

這裡定義了一個函式openwin(),函式內容就是開啟一個視窗。在呼叫它之前沒有任何用途。怎麼呼叫呢?
 
方法一: 瀏覽器讀頁面時彈出視窗;
 
方法二: 瀏覽器離開頁面時彈出視窗;
 
方法三:用一個連線呼叫:開啟一個視窗 注意:使用的“#”是虛連線。
 
方法四:用一個按鈕呼叫:

2、定時關閉彈出的視窗 (有些網站註冊成功後顯示n秒轉到註冊前的那頁資訊,或自己跳轉)
 
下面我們再對彈出的視窗進行一些控制,效果就更好了。
 
如果我們再將一小段程式碼 加入彈出的頁面(注意是加入到page.html的HTML中,可不是主頁面中,否則 ...),讓它10秒後自動關閉是不是更酷了?
 
首先,將如下程式碼加入page.html檔案的區:

?
1 2 3 4 5 6 <script language="Javascript"> function closeit() { setTimeout("self.close()",10000) //毫秒 } </script>

然後,再用 這一句話代替page.html中原有的這一句就可以了。
 
(這一句話千萬不要忘記寫啊!這一句的作用是呼叫關閉視窗的程式碼 ,10秒鐘後就自行關閉該視窗。

3、 僅彈出一次視窗(cookie控制)
 
回想一下,上面的彈出視窗雖然酷,但是有一點小毛病,比如你將上面的指令碼放在一個需要頻繁經過的頁面裡(例如首頁),
 
那麼每次重新整理這個頁面,視窗都會彈出一次,是不是非常煩人?有解決的辦法嗎?
 
我們使用cookie來控制一下。
 
首先,將如下程式碼加入主頁面HTML的區:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <script> function openwin() {window.open("page.html","","width=200,height=200")} function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (documents.cookie.length > 0) { offset = documents.cookie.indexOf(search) if (offset != -1) { offset += search.length end = documents.cookie.indexOf(";", offset); if (end == -1) end = documents.cookie.length; returnvalue=unescape(documents.cookie.substring(offset,end)) } } return returnvalue; } function loadpopup(){ if (get_cookie('popped')==''){ openwin() ;   documents.cookie="popped=yes" ;  } } </script>

然後,用(注意不是openwin而是loadpop啊!) 替換主頁面中原有的

這一句即可。你可以試著重新整理一下這個頁面或重新進入該頁面,視窗再也不會彈出了。