次の方法で共有


マネージド HTML ドキュメント オブジェクト モデルのフレームへのアクセス

一部の HTML ドキュメントは、フレーム、または独自の個別の HTML ドキュメントを保持できるウィンドウで構成されます。 フレームを使用すると、ナビゲーション バーなど、ページの 1 つ以上の部分が静的なままである HTML ページを簡単に作成できます。一方、他のフレームではコンテンツが常に変更されます。

HTML 作成者は、次の 2 つの方法のいずれかでフレームを作成できます。

  • 固定ウィンドウを作成する FRAMESETFRAME タグを使用します。

-又は-

  • IFRAME タグを使用すると、実行時に位置を変更できるフローティング ウィンドウが作成されます。
  1. フレームには HTML ドキュメントが含まれているため、ウィンドウ要素とフレーム要素の両方としてドキュメント オブジェクト モデル (DOM) で表されます。

  2. HtmlWindowの Frames コレクションを使用して FRAME または IFRAME タグにアクセスすると、フレームに対応するウィンドウ要素が取得されます。 これは、現在の URL、ドキュメント、サイズなど、フレームのすべての動的プロパティを表します。

  3. HtmlWindowChildren コレクション、GetElementsByNameGetElementByIdなどのメソッドの WindowFrameElement プロパティを使用して、FRAME または IFRAME タグにアクセスすると、フレーム要素が取得されます。 これは、元の HTML ファイルで指定された URL を含む、フレームの静的プロパティを表します。

フレームとセキュリティ

フレームへのアクセスは、マネージド HTML DOM がクロスフレーム スクリプティング セキュリティと呼ばれるセキュリティ対策 実装するという事実によって複雑になります。 異なるドメインに属する複数の FRAME を持つ FRAMESET がドキュメントに含まれる場合、これらの FRAME は相互にやり取りできません。 言い換えると、Web サイトのコンテンツを表示する FRAME は、http://www.adatum.com/などのサード パーティのサイトをホストする FRAME 内の情報にアクセスできません。 このセキュリティは、HtmlWindow クラスのレベルで実装されます。 URL など、別の Web サイトをホストしている FRAME に関する一般的な情報を取得できますが、その Document にアクセスしたり、ホスティング FRAME または IFRAMEのサイズや場所を変更したりすることはできません。

このルールは、Open メソッドと OpenNew メソッドを使用して開くウィンドウにも適用されます。 開いたウィンドウが、WebBrowser コントロールでホストされているページとは異なるドメインにある場合、そのウィンドウを移動したり、その内容を調べたりすることはできません。 これらの制限は、WebBrowser コントロールを使用して、Windows フォーム ベースのアプリケーションの展開に使用される Web サイトとは異なる Web サイトを表示する場合にも適用されます。 ClickOnce 配置テクノロジを使用して Web サイト A からアプリケーションをインストールし、WebBrowser を使用して Web サイト B を表示すると、Web サイト B のデータにアクセスできなくなります。

関連項目