Freigeben über


Zugreifen auf Frames im Verwalteten HTML-Dokumentobjektmodell

Einige HTML-Dokumente bestehen aus Frames oder 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 FRAMESET und FRAME Tags, die feste Fenster erstellen.

-oder-

  • Mit dem IFRAME Tag wird ein schwebendes Fenster erstellt, das zur Laufzeit neu positioniert werden kann.
  1. Da Frames HTML-Dokumente enthalten, werden sie im Dom (Document Object Model) als Fensterelemente und Frameelemente dargestellt.

  2. Wenn Sie mit der Frames-Auflistung von FRAME auf ein IFRAME- oder ein HtmlWindow-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 FRAME-Eigenschaft von IFRAME, der WindowFrameElement-Auflistung oder Methoden wie HtmlWindow oder Children auf ein GetElementsByName- oder GetElementById-Tag zugreifen, rufen Sie das Frame-Element 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 frameübergreifende Skriptingsicherheit bezeichnet wird. Wenn ein Dokument ein FRAMESET mit mindestens zwei FRAME in unterschiedlichen Domänen enthält, können diese FRAME nicht miteinander interagieren. Mit anderen Worten kann ein FRAME, das Inhalte von Ihrer Website anzeigt, nicht auf Informationen in einem FRAME zugreifen, das eine Drittanbieter-Website wie http://www.adatum.com/ hostet. Diese Sicherheit wird auf der Ebene der HtmlWindow Klasse implementiert. Sie können allgemeine Informationen zu einer FRAME anderen Website abrufen, wie z. B. deren URL. Sie können jedoch nicht auf deren Document zugreifen oder die Größe oder den Standort des Hostings FRAME oder IFRAME ändern.

Diese Regel gilt auch für Fenster, die Sie mit den Open und OpenNew Methoden öffnen. Wenn sich das fenster, das Sie öffnen, in einer anderen Domäne als die im WebBrowser Steuerelement gehostete Seite befindet, können Sie dieses Fenster nicht verschieben oder dessen Inhalt untersuchen. Diese Einschränkungen werden auch erzwungen, wenn Sie das WebBrowser Steuerelement 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 WebBrowser verwenden, um Website B darzustellen, können Sie nicht auf die Daten von Website B zugreifen.

Siehe auch