最近兩天一直在弄這個window.open()和window.close()的東東,快把我給搞瘋掉了。現在記錄下來,也幫助受此困擾的朋友度過難關
1、window.open()此方法有四個參數
window.open(sUrl,sName,sFeatures,bReplace)
sUrl:要打開的頁面的路徑
sName:要打開的頁面的名稱,如果已經存在,將會覆蓋原來的頁面,
也可以用_self,_parent,_blank,_top幾個參數。
blank : 在新窗口中打開sUrl。
_parent : 在當前框架的父框架內打開。假如當前框架無父框架,此參數值等同於_self。
_search : IE5.0在瀏覽器左邊的搜索面板內打開 sUrl。
_self : sUrl在當前窗口中打開,覆蓋當前文檔。
_top : 在所有框架之外的最頂層窗口中打開sUrl。假如當前窗口無框架結構,此參數值等同於_self。
sFeatures:要打開的頁面的樣式
channelmode = { yes | no | 1 | 0 } 指定是否將窗口顯示為頻道模式。默認值為no 。
directories = { yes | no | 1 | 0 } 指定是否顯示「鏈接」按鈕。默認值為yes 。
fullscreen = { yes | no | 1 | 0 } 指定是否以全屏方式顯示窗口。默認值為no 。
要小心使用全屏模式,因為這種模式會隱藏瀏覽器窗口的標題欄和菜單。如果沒有在頁面內提供關閉窗口的功能,
用戶可以使用ALT+F4快捷鍵關閉窗口。
height = number設置窗口的高度。最小值為100。
left = number設置窗口左上角相對於桌面的橫坐標。單位為像素(px)。
width = number設置窗口的寬度。最小值為100。
top = number設置窗口左上角相對於桌面的縱坐標。單位為像素(px)。
location = { yes | no | 1 | 0 }設置是否顯示瀏覽器窗口的地址欄。默認值為yes。
menubar = { yes | no | 1 | 0 }設置是否顯示瀏覽器窗口的菜單欄。默認值為yes。
resizable = { yes | no | 1 | 0 }設置窗口是否允許被用戶改變尺寸。默認值為yes。
scrollbars = { yes | no | 1 | 0 }設置窗口是否可以具有滾動條。默認值為yes。
status = { yes | no | 1 | 0 }設置是否顯示瀏覽器窗口的狀態欄。默認值為yes。
titlebar = { yes | no | 1 | 0 }設置是否顯示瀏覽器窗口的標題欄。除非調用程序是HTML應用程式(HTA)或被信任的對話框,
否則此參數將被忽略。默認值為yes。
toolbar = { yes | no | 1 | 0 }設置是否顯示瀏覽器窗口的工具條。默認值為yes。
bRepleace(布爾值):false : 新打開的文檔覆蓋歷史列表里的當前文檔。true :文新打開的文檔被簡單的添加到歷史列表的最后。
加入有連個頁面a.html,b.html,在a頁面打開b頁面的方法。
window.open('b.html');
window.open('b.html','windowB');
window.open('b.html','_self');
window.open('b.html','_parent',features)
window.open('b.html','windowNameB',features,null);
還可以這樣打開一個頁面:window.location.href=b.html;
2、window.close();
window.close()只能對新建的窗口有效。如果在主瀏覽器中調用window.close()方法將得到一條提示信息:提示該腳本試圖關閉窗口,詢問是否真的要關閉窗口(在IE下),
在FF和Chrome下沒有反應。
3、新窗口還有對打開它的窗口的引用,存放在opener屬性中。
只有在新窗口的最高層才有opener屬性。