窗口的打開與關閉
在超級鏈接中加入target屬性可以新開一個窗口,但前提是必須進行了點擊,當然我們也可通過代碼來打開一個新窗口。
新開一個窗口 <a href="eg/06-2%20test.html" target="_blank">新開一個窗口</a>
window.open("eg\\06-2%20test.html")
window.open( )方法可以產生一個新的窗口,同時返回該窗口的內部編號,可以利用該編號來控制這個窗口的行為。
用超級鏈接的方法新開窗口,無法控制窗口的大小外觀,使用open( )方法則可輕松實現。
winID=window.open("URL","winName","features","replace")
URL:新開窗口中打開網頁的URL地址;
winName:新開窗口的名字;
features:新開窗口的外觀特征(eg:"left=0,top=0,directories" ),各參數間用,分隔;
features項 | 說明 |
left/secreenX | 瀏覽器左上角X坐標(px) IE/NetScape |
top/screenY | 瀏覽器左上角Y坐標(px) IE/NetScape |
height/innerHeight | 瀏覽器高(px) 最小值為100 IE/NetScape |
width/innerWidth | 瀏覽器寬(px) 最小值為100 IE/NetScape |
directories | 顯示連接欄否 |
location | 顯示地址欄否 |
menubar | 顯示菜單欄否 |
resizeable | 窗口大小可調否 |
scrollbars | 顯示滾動條否 |
status | 顯示狀態欄否 |
titlebar | 顯示標題欄否 |
toolbar | 顯示工具欄否 |
replace:為true表示替換新窗口的歷史記錄,否則不替換。
window.open("eg\\06-2%20test.html", "", "left=100, top=200, height=200, width=300, resizeable, toolbar, directories")
父窗口利用winID來控制新開的子窗口;子窗口則利用opener來訪問父窗口。
通過winID/opener可以探測窗口存在否;通過closed屬性可以探測窗口關閉否。
例:
父窗口控制子窗口
if(winID && !winID.closed)
? ? ? ? ? ? ? ? winID.close( );
子窗口訪問父窗口
if(opener && !opener.closed)
? ? ? ? ? ? ? ? opener.close( );