Window: opener プロパティ
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
を設定することができません。新しいウィンドウは異なる閲覧コンテキストで読み込まれるので、開くためのウィンドウを参照することはありません。
仕様書
Specification |
---|
HTML Standard # dom-opener-dev |
ブラウザーの互換性
BCD tables only load in the browser