1.window.open的4個參數
window.open(pageURL,name,parameters,bReplace)
其中:
pageURL 為子視窗路徑 ,寫的時候要注意絕對路徑要加http://,相對路徑要加../
name 為子視窗句柄 (這是實作關閉的關鍵,詳細看之後)
parameters 為視窗參數(各參數用逗号分隔) :
alwaysLowered | yes/no | 指定視窗隐藏在所有視窗之後
alwaysRaised | yes/no | 指定視窗懸浮在所有視窗之上
depended | yes/no | 是否和父視窗同時關閉
directories | yes/no | Nav2和3的目錄欄是否可見
height | pixel value | 視窗高度
hotkeys | yes/no | 在沒菜單欄的視窗中設安全退出熱鍵
innerHeight | pixel value | 視窗中文檔的像素高度
innerWidth | pixel value | 視窗中文檔的像素寬度
location | yes/no | 位置欄是否可見
menubar | yes/no | 菜單欄是否可見
outerHeight | pixel value | 設定視窗(包括裝飾邊框)的像素高度
outerWidth | pixel value | 設定視窗(包括裝飾邊框)的像素寬度
resizable | yes/no | 視窗大小是否可調整
screenX | pixel value | 視窗距螢幕左邊界的像素長度
screenY | pixel value | 視窗距螢幕上邊界的像素長度
scrollbars | yes/no | 視窗是否可有卷軸框
titlebar | yes/no | 視窗題目欄是否可見
toolbar | yes/no | 視窗工具欄是否可見
Width | pixel value | 視窗的像素寬度
z-look | yes/no | 視窗被激活後是否浮在其它視窗之上
補充:top:為距離窗體上方的距離
left:為距離窗體左側的距離
location:當用IE9或IE8的時候新打開一個窗體要用location=no,這樣會新彈出一個視窗而不是在标簽裡。
bReplace 是true/false,用來指定是否在替換目前浏覽器曆史中的位址。
2. window.open實作關閉其它視窗的用法
關鍵:name ,location
原理:利用已經打開的窗體的視窗句柄,在新打開的窗體将其窗體句柄與已經打開的一緻,進而沖掉舊窗體,實作關閉。
例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打開百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 關閉百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html>
說明:
1.當點選open按鈕時會打開百度,其視窗句柄名為baidu
2.點選close按鈕的時候會新打開一個窗體,視窗句柄名字仍為baidu
3.在IE8,9下需設定localtion,top和left為讓第二次打開的窗體不被看到,可以沒有
4.obj.close(); 可以讓新打開的窗體關閉,進而兩個畫面全關閉。可以沒有。
5.在試驗前需設定 Internet選項->安全->受信任的站點->自定義級别->允許腳本初始化的視窗不受位置和大小限制
6.設定 Internet選項->進階->允許腳本調試
7.當打開别的伺服器的窗體,再在本地實作關閉的時候,雖然采用同樣的句柄名,但無法實作關閉,而且會報腳本錯,這個自己仍在調查.....。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打開百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 關閉百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打開百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 關閉百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打開百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 關閉百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打開百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 關閉百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html>