【JavaScript】Windowオブジェクトについて
windowオブジェクト
JavaScriptのwindowオブジェクトは、ブラウザのウィンドウに関する情報を提供し、ウィンドウを操作するためのメソッドやプロパティを提供します。ページが読み込まれると、自動的に定義され、グローバルなスコープでアクセスできます。
例:
console.log(window); // windowオブジェクトをコンソールに出力
このコードを実行すると、ブラウザのウィンドウに関連する情報やプロパティが表示されます。
window.self
window.selfは、現在のウィンドウオブジェクトを指します。一般的に、windowオブジェクトとselfは同じものですが、selfを使うことでより明示的に現在のウィンドウを参照することができます。
例:
console.log(window.self === window); // trueが表示される
このコードは、windowとselfが同一であることを確認します。
window.top
window.topは、現在のウィンドウがiframe内に存在する場合、その最上位のウィンドウオブジェクトを指します。iframe内で使用されている場合、topは親のウィンドウではなく、最も外側のウィンドウを参照します。
例:
if (window.top === window) {
console.log("これは最上位のウィンドウです");
} else {
console.log("これはiframe内のウィンドウです");
}
このコードは、現在のウィンドウがトップレベルのウィンドウかどうかを判定します。
window.parent
window.parentは、現在のウィンドウがiframe内にある場合、その親のウィンドウオブジェクトを指します。iframe内で実行されている場合、このプロパティを使って親ウィンドウにアクセスできます。
例:
if (window.parent === window) {
console.log("これはトップレベルのウィンドウです");
} else {
console.log("これはiframe内のウィンドウで、親ウィンドウにアクセスしています");
}
このコードは、現在のウィンドウが親ウィンドウの中にあるかどうかを判定します。
window.opener
window.openerは、現在のウィンドウを開いたウィンドウオブジェクトを指します。通常、window.open()を使って新しいウィンドウを開くと、そのウィンドウは開いた元のウィンドウをopenerプロパティで参照できます。
例:
let newWindow = window.open("https://example.com");
newWindow.onload = function() {
console.log(window.opener === newWindow); // trueが表示される
};
このコードは、新しく開いたウィンドウから元のウィンドウ(opener)にアクセスする方法を示しています。
window.length
window.lengthは、現在のウィンドウオブジェクトが保持するプロパティやメソッドの数を返します。通常、ウィンドウオブジェクトが持つプロパティ数を示しますが、これは標準的な方法ではあまり頻繁に使われません。
例:
console.log(window.length); // 一般的には、0またはウィンドウに関連する要素の数が表示されます
このコードでは、ウィンドウオブジェクトが保持するプロパティ数を出力します。
window.name
window.nameは、ウィンドウに名前を付けるためのプロパティです。このプロパティは、ページが再読み込みされた場合でも、ウィンドウ間で値が保持されるため、セッション間で情報を保持するのに役立ちます。
例:
window.name = "myWindow";
console.log(window.name); // "myWindow"と表示される
このコードは、ウィンドウに名前を設定し、その名前を出力します。