2017-08-07 108 views
0

我有在Javascript與窗口系統的一些問題:沒有鏈接參考window.parent

我有一個網站列出的鏈接到不同的網站B(目前<a>標籤與target="_blank"屬性)。

我想在一個鏈接中從B中的新標籤中打開,但是從B頁面(我不能編輯)包含一個腳本,改變window.parent的位置,在這種情況下,包含的標籤網站A,然後關閉自己。

所以我正在尋找一種方式來打開一個新的標籤頁/窗口,而不需要參考window.{parent/top/opener}中的當前頁面。可能嗎 ?

+0

你的意思是一個THRD方頁面加載一個新的現有選項卡上的頁面?這應該不可能。此外,選項卡/窗口沒有'window.parent',它是(i)幀的屬性。有'window.opener',但是如果域不是相同的,那它應該是'null'... [不是在所有瀏覽器中](https://developer.mozilla.org/en-US/docs/Web/API/Window/opener),我可以看到。當文檔正在討論時,您可以嘗試'rel'屬性。 – Teemu

+0

對不起,我混淆了這兩個,這是我試圖刪除的'window.opener'參考。無論如何,我找到一種方法來做到這一點,使用一個簡短的函數打開新窗口,並立即將其開啓器設置爲「空」。 (我測試了你的rel =「noopener」解決方案,但是文檔說它並不適用於所有瀏覽器。) – Elassyo

回答

1

我找到了一種方法來去除window.opener參考我的網站,所以如果有人遇到同樣的那種這裏的問題是一個解決方案:

<a href="javascript:openLink('http://example.com')">Link</a> 
var openLink = function(url) { 
    var w = window.open(url, '_blank'); 
    w.opener = null; 
}