本文較為詳細的分析了JavaScript中window.open用法。分享給大家供大家參考。具體如下:
參數解釋:
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、用函數控制彈出視窗
下面是一個完整的程式碼。
<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檔案的區域:
<script language="Javascript"> function closeit() { setTimeout("self.close()",10000) //毫秒 } </script>
然後,再用 這句話代替page.html中原有的這句話就可以了。
(這句話千萬不要忘記寫啊!這一句的作用是呼叫關閉視窗的程式碼 ,10秒鐘後就自行關閉該視窗。
3、 僅彈出一次視窗(cookie控制)
回想一下,上面的彈出視窗雖然酷,但是有一點小毛病,例如你將上面的腳本放在一個需要頻繁經過的頁面裡(例如首頁),
那麼每次刷新這個頁面,視窗都會彈出一次,是不是非常煩人?有解決的辦法嗎?
我們使用cookie來控制一下。
首先,將以下程式碼加入主頁HTML的區:
<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啊!) 取代主頁中原有的
這一句即可。你可以試著刷新這個頁面或重新進入該頁面,視窗再也不會彈出了。
希望本文所述對大家的javascript程式設計有所幫助。