Window: name プロパティ
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Window.name プロパティは、このウィンドウの閲覧コンテキストの名前を取得/設定します。
値
文字列です。
解説
ウィンドウ名は、主にハイパーリンクとフォームのターゲットを設定するために使われます。 閲覧コンテキストは、必ずしも名前を持つ必要はありません。
現代のブラウザーは、タブが他のドメインのページを読み込むと Window.name を空文字列に設定し、元のページが(例えば「戻る」ボタンを押すことにより)再び読み込まれると名前を復元します。このことにより、信頼されていないページが、前のページがこのプロパティに保存していた可能性があるいかなる情報にもアクセスできないようにします(新しいページがこのようなデータを書き換え、それが再び読み込まれた元のページによって読まれる、という可能性も考えられます)。
Window.name はまた、いくつかのフレームワークによって JSONP のより安全な代替として、ドメイン間メッセージングを実現するために使われています。しかし、現代の機密データを扱うウェブアプリケーションは、ドメイン間メッセージングのために window.name に依存するべきではありません。なぜなら、これは意図された目的ではない上、ウィンドウ間での情報の共有にはより安全な/良い方法があります。
Window.postMessage() の利用を推奨します。
メモ:
window.name は保存される全ての値を toString メソッドにより文字列表現に変換します。
例
<a href="url2" target="other-tab">このリンクは別なタブで開かれます。</a>
// 指定したウィンドウ名を持つタブを開く
const otherTab = window.open("url1", "_blank");
if (otherTab) otherTab.name = "other-tab";
仕様書
| Specification |
|---|
| HTML> # dom-name-dev> |