Freigeben über


Zugreifen auf Frames im Verwalteten HTML-Dokumentobjektmodell

Einige HTML-Dokumente bestehen aus Framesoder Fenstern, die eigene unterschiedliche HTML-Dokumente enthalten können. Die Verwendung von Frames erleichtert das Erstellen von HTML-Seiten, in denen ein oder mehrere Teile der Seite statisch bleiben, z. B. eine Navigationsleiste, während andere Frames ihren Inhalt ständig ändern.

HTML-Autoren können Frames auf eine von zwei Arten erstellen:

  • Verwenden Sie die Tags FRAMESET und FRAME, die feste Fenster erstellen.

-oder-

  • Mithilfe des IFRAME-Tags wird ein verschiebbares Fenster erstellt, das zur Laufzeit umpositioniert werden kann.
  1. Da Frames HTML-Dokumente enthalten, werden sie im Dom (Document Object Model) als Fensterelemente und Frameelemente dargestellt.

  2. Wenn Sie mithilfe der Frames-Sammlung von HtmlWindowauf ein FRAME- oder IFRAME-Tag zugreifen, rufen Sie das Fensterelement ab, das dem Frame entspricht. Dies stellt alle dynamischen Eigenschaften des Frames dar, z. B. die aktuelle URL, das Dokument und die Größe.

  3. Wenn Sie mithilfe der WindowFrameElement-Eigenschaft von HtmlWindow, der Children-Auflistung oder methoden wie GetElementsByName oder GetElementByIdauf ein FRAME- oder IFRAME-Tag zugreifen, rufen Sie das Frameelement ab. Dies stellt die statischen Eigenschaften des Frames dar, einschließlich der in der ursprünglichen HTML-Datei angegebenen URL.

Rahmen und Sicherheit

Der Zugriff auf Frames ist durch die Tatsache kompliziert, dass das verwaltete HTML-DOM eine Sicherheitsmaßnahme implementiert, die als cross-frame scripting securitybezeichnet wird. Wenn ein Dokument eine FRAMESET mit zwei oder mehr FRAMEin verschiedenen Domänen enthält, können diese FRAMEnicht miteinander interagieren. Mit anderen Worten, ein FRAME, der Inhalte von Ihrer Website anzeigt, kann nicht auf Informationen in einem FRAME zugreifen, das eine Drittanbieterwebsite wie http://www.adatum.com/hostet. Diese Sicherheit wird auf der Ebene der HtmlWindow Klasse implementiert. Sie können allgemeine Informationen über ein FRAME abrufen, das eine andere Website hostet, z. B. die URL, aber Sie können nicht auf deren Document zugreifen oder die Größe oder den Speicherort des Hostings FRAME oder IFRAMEändern.

Diese Regel gilt auch für Fenster, die Sie mit den methoden Open und OpenNew öffnen. Wenn sich das fenster, das Sie öffnen, in einer anderen Domäne befindet als die im WebBrowser-Steuerelement gehostete Seite, können Sie dieses Fenster nicht verschieben oder dessen Inhalt untersuchen. Diese Einschränkungen werden auch erzwungen, wenn Sie das steuerelement WebBrowser verwenden, um eine Website anzuzeigen, die sich von der Website unterscheidet, die zum Bereitstellen Ihrer Windows Forms-basierten Anwendung verwendet wird. Wenn Sie die ClickOnce-Bereitstellungstechnologie verwenden, um Ihre Anwendung von der Website A zu installieren, und Sie die WebBrowser verwenden, um die Website B anzuzeigen, können Sie nicht auf die Daten der Website B zugreifen.

Siehe auch