javascript BOM
ECMAScript は JavaScript の中核ですが、Web で JavaScript を使用したい場合は、間違いなく BOM (ブラウザ オブジェクト モデル) が本当の中心です。 BOM は、Web ページのコンテンツから独立したブラウザー機能にアクセスするための多数のオブジェクトを提供します。長年にわたり、ブラウザ ベンダーが必要に応じて BOM を自由に拡張してきたため、事実上の仕様がないため、BOM は興味深いものであると同時に問題も生じてきました。その結果、ブラウザ間で共有されるオブジェクトが事実上の標準になります。これらのオブジェクトがブラウザーに存在するのは、主にブラウザーとの相互運用性を提供するためです。ブラウザーでの JavaScript の最も基本的な部分を標準化するために、W3C は BOM の主要な側面を HTML5 仕様に組み込みました。
ps: 上記は「Javascript Advanced Programming」からの抜粋です。 BOM はブラウザのウィンドウ オブジェクトであり、多くのウィンドウ処理 API を提供します。 Web アプリ フレームワークがますます増えているため、同じウィンドウでさまざまなページやさまざまな Ajax データを処理する必要があり、BOM の内容に精通している必要があります。
1. ウィンドウ
BOM の中心となるオブジェクトは window であり、ブラウザのインスタンスを表します。ブラウザでは、ウィンドウ オブジェクトは JavaScript を介してブラウザ ウィンドウにアクセスするためのインターフェイスと、ECMAScript で指定されるグローバル オブジェクトの両方の役割を果たします。
以下は open
の 3 番目の文字列属性です。2. 場所
場所は最も便利な BOM オブジェクトの 1 つであり、現在のウィンドウにロードされているドキュメントに関する情報を提供し、いくつかのナビゲーション機能も提供します。実際、location オブジェクトは、window オブジェクトのプロパティと document オブジェクトのプロパティの両方であるため、非常に特殊なオブジェクトです。つまり、window.location と document.location は同じオブジェクトを参照します。 location オブジェクトの有用性は、現在のドキュメントに関する情報を保存するだけでなく、URL を独立したフラグメントに解析して、開発者がさまざまなプロパティを通じてこれらのフラグメントにアクセスできるようにすることです。
3. 歴史
履歴オブジェクトには、ウィンドウを開いた瞬間から始まるユーザーのオンライン履歴が保存されます。
のプロパティであるため、各ブラウザ ウィンドウ、各タブ、さらには各フレームにも、特定のウィンドウ オブジェクトに関連付けられた独自の履歴オブジェクトがあります。セキュリティ上の理由から、開発者はユーザーがどの URL を閲覧したかを知る方法がありません。ただし、ユーザーが訪問したページのリストがあれば、実際の URL を知らなくても、行ったり来たりすることも可能です。
4. ナビゲーター
ナビゲーター オブジェクトは、Netscape Navigator 2.0 によって初めて導入され、現在ではクライアント ブラウザを識別するための事実上の標準となっています。他のブラウザでも同じまたは同様の情報が他の方法で提供されますが (たとえば、IE の window.clientInfor-mation や Opera の indow.opera)、ナビゲータ オブジェクトは JavaScript をサポートするすべてのブラウザに共通です。他の BOM オブジェクトの場合と同様、各ブラウザのナビゲーター オブジェクトにも独自のプロパティ セットがあります。下の画像には、ナビゲーターに関するさらに重要な情報が含まれています
5.画面
JavaScript にはプログラミングにはあまり役に立たないオブジェクトがいくつかありますが、screen オブジェクトもその 1 つです。画面オブジェクトは基本的に、クライアントの機能を示すためにのみ使用されます。これには、ピクセルの幅や高さなど、ブラウザ ウィンドウの外側の表示に関する情報が含まれます。各ブラウザの画面オブジェクトには、さまざまなプロパティが含まれています。次の表に、すべてのプロパティと、対応するプロパティをサポートするブラウザを示します。次のコードを使用して確認してください