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啊!) 替換主頁面中原有的
這一句即可。你可以試著重新整理一下這個頁面或重新進入該頁面,視窗再也不會彈出了。