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
undFRAME
, die feste Fenster erstellen.
-oder-
- Mithilfe des
IFRAME
-Tags wird ein verschiebbares Fenster erstellt, das zur Laufzeit umpositioniert werden kann.
Da Frames HTML-Dokumente enthalten, werden sie im Dom (Document Object Model) als Fensterelemente und Frameelemente dargestellt.
Wenn Sie mithilfe der Frames-Sammlung von HtmlWindowauf ein
FRAME
- oderIFRAME
-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.Wenn Sie mithilfe der WindowFrameElement-Eigenschaft von HtmlWindow, der Children-Auflistung oder methoden wie GetElementsByName oder GetElementByIdauf ein
FRAME
- oderIFRAME
-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 FRAME
in verschiedenen Domänen enthält, können diese FRAME
nicht 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
.NET Desktop feedback