如何通過 js 開啟一個新的瀏覽器視窗
阿新 • • 發佈:2018-12-14
Aphorism
Grow In Errors!
前言
最近 腎七 電池不耐用了, 想想 左腹就隱隱作痛, 咳咳 ,迴歸正題, 我就聯絡了下 apple 客服,準備換個 電池,2018年 12.31 前 更換蘋果電池是有優惠政策的。 在開啟 聊天室的時候, 突然 發現 瀏覽器重新打開了 視窗; 又回想到了 之前公司的 登陸 表單也是 在一個小視窗中開啟輸入登陸資訊的。 嗯, 強迫症來了
主要api
- window.open 開啟動作
- window.opener 由誰開啟的
開啟新的 tab 和 開啟新的 瀏覽器視窗
origin page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>origin Page</title>
</head>
<body>
i am origin page!
<br>
<p>
<a href="javascript:;" onclick="jumpPage();">window.open 開啟新標籤頁</a>
</p>
<p>
<a href="http://www.w3school.com.cn" target="_blank">html方式 開啟新標籤頁</a>
</p>
<p>
<a href="javascript:;" onclick="openRequestedPopup();">window.open 開啟新的瀏覽器視窗</a>
</p>
<br>
<script>
window. name = "origin";
function open_win() {
window.open("http://www.w3school.com.cn")
}
function jumpPage() {
window.open("http://www.w3school.com.cn", 'hello');
}
var windowObjectReference;
var strWindowFeatures = "width=1000,height=500,menubar=yes,location=yes,resizable=yes,scrollbars=true,status=true";
function openRequestedPopup() {
// windowObjectReference = window.open("http://www.w3school.com.cn", "CNN_WindowName", strWindowFeatures);
windowObjectReference = window.open("./b.html", "B_page", strWindowFeatures);
setTimeout(function () {
//windowObjectReference.close(); // 我們頁面中關閉 或進行其他操作 開啟的 視窗頁
console.log(windowObjectReference.position); // 10s 後 在origin winodw 控制檯 列印 B_page 視口物件中的position 成員
}, 10000);
}
</script>
</body>
</html>
b page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>b page</title>
</head>
<body>
i am b page!
<script>
console.log(window.name);
var position = "b page";
console.log(window.opener.name); // 通過這個方法獲取 源視窗物件 // 注意跨域頁面是不能獲取到的
</script>
</body>
</html>
開啟新的 tab 標籤頁 就不多做解釋了
我們通過 window.open 方法 的第三個引數 strWindowFeatures 配置後, 就可以在新的視窗中開啟, 該方法會返回 開啟的視窗物件。 在新的視窗中,我們也可以通過 window.opener 來獲取到 源視窗 物件。