1. 程式人生 > >如何通過 js 開啟一個新的瀏覽器視窗

如何通過 js 開啟一個新的瀏覽器視窗

Aphorism

Grow In Errors!

前言

最近 腎七 電池不耐用了, 想想 左腹就隱隱作痛, 咳咳 ,迴歸正題, 我就聯絡了下 apple 客服,準備換個 電池,2018年 12.31 前 更換蘋果電池是有優惠政策的。 在開啟 聊天室的時候, 突然 發現 瀏覽器重新打開了 視窗; 又回想到了 之前公司的 登陸 表單也是 在一個小視窗中開啟輸入登陸資訊的。 嗯, 強迫症來了

主要api

  1. window.open 開啟動作
  2. 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 來獲取到 源視窗 物件。