2017-08-07 2 views
0

私はJavaScriptでウィンドウシステムでいくつかの問題を抱えている:オープンリンク

私はtarget="_blank"属性を持つ別のサイトB(現在<a>タグへのリンクを一覧表示し、ウェブサイトのAを持っています)。

私はBから新しいタブで開くには、A内のリンクをしたいと思います、しかし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 /ウィンドウ/オープナー)、私は見ることができます。ドキュメントが話しているように 'rel'属性を試すことができます。 – Teemu

+0

申し訳ありませんが、私は2つを混ぜて、削除しようとしていた 'window.opener'リファレンスです。とにかく私は、新しいウィンドウを開き、すぐにオープナーを 'null'に設定する短い関数を使ってそれを行う方法を見つけました。 (あなたの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; 
} 
関連する問題