Window: opener プロパティ
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
Window インターフェイスの opener プロパティは、 open() によって、または target 属性の付いたリンクの操作によって開かれたウィンドウを開いたウィンドウへの参照を返します。
言い換えれば、ウィンドウ A がウィンドウ B を開いた場合、 B.opener は A を返します。
値
Window 風のオブジェクトで、(window.open() を使用するか、または target 属性が設定されたリンクによって)現在のウィンドウを開いたウィンドウ(オープナー)を参照します。このウィンドウが他のウィンドウにリンクされたり作成されたりして開かれたものでない場合は null を返します。
オープナーが現在のページと同じオリジン上にない場合、オープナーオブジェクトの機能は制限されます。例えば、ウィンドウオブジェクトの変数と関数はアクセスすることができません。しかし、オープナーウィンドウのナビゲーションは利用可能です。これは、開かれたページが元のタブやウィンドウで URL を開くためのものであることを意味しています。場合によっては、これによりフィッシング攻撃が可能であり、元のウィンドウで開かれた信頼できるページが、新しく開かれたページによってフィッシングページに置き換えられてしまいます。
以下の場合、ブラウザーは window.opener を生成せず、 null のままにします。
- リンクに
rel=noopenerを指定するか、noopenerをwindowFeatures引数に渡すことで、オープナーを消すことができます。 targetが_blankであるリンクによって開かれたウィンドウは、明示的にrel=openerを要求しない限り、openerになることはありません。- 値が
same-originであるCross-Origin-Opener-Policyヘッダーがあると、openerを設定することができません。新しいウィンドウは異なる閲覧コンテキストで読み込まれるので、開くためのウィンドウを参照することはありません。
仕様書
| 仕様書 |
|---|
| HTML> # dom-opener-dev> |