Zugreifen auf Frames im verwalteten HTML-Dokumentobjektmodell
Aktualisiert: November 2007
Einige HTML-Dokumente setzen sich aus Frames oder Fenstern zusammen, die ihre eigenen HTML-Dokumente enthalten können. Die Verwendung von Frames erleichtert das Erstellen von HTML-Seiten, in denen ein oder mehrere Bereiche der Seite statisch bleiben, z. B. eine Navigationsleiste, während andere Frames ihren Inhalt permanent ändern.
HTML-Autoren können Frames auf zwei Arten erstellen:
- Mit dem FRAMESET-Tag und mit dem FRAME-Tag, die feste Fenster erstellen.
- oder -
- Mit dem IFRAME-Tag, das ein unverankertes Fenster erstellt, das zur Laufzeit neu angeordnet werden kann.
Da Frames HTML-Dokumente enthalten, werden sie im Dokumentobjektmodell (DOM) sowohl als Fensterelemente als auch als Frameelemente dargestellt.
Wenn Sie auf ein FRAME-Tag oder ein IFRAME-Tag mithilfe der Framesauflistung von HtmlWindow zugreifen, rufen Sie das Fensterelement ab, das dem Frame entspricht. Dieses entspricht allen dynamischen Eigenschaften des Frames, z. B. aktueller URL, Dokument und Größe.
Wenn Sie auf ein FRAME-Tag oder ein IFRAME-Tag mithilfe der WindowFrameElement-Eigenschaft von HtmlWindow, der Children-Auflistung oder von Methoden wie GetElementsByName oder GetElementById zugreifen, rufen Sie das Frameelement ab. Dieses entspricht den statischen Eigenschaften des Frames, einschließlich des in der ursprünglichen HTML-Datei angegebenen URL.
Frames und Sicherheit
Der Zugriff auf Frames wird durch die Tatsache erschwert, dass das verwaltete HTML-DOM eine Sicherheitsmaßnahme implementiert, die als frameübergreifende Skripterstellungssicherheit bezeichnet wird. Wenn ein Dokument einen FRAMESET mit zwei oder mehr FRAMEs in verschiedenen Domänen enthält, können diese FRAMEs nicht interagieren. Mit anderen Worten: Ein FRAME, der Inhalt von Ihrer Website anzeigt, kann keine Informationen in einem FRAME aufrufen, der die Site eines Dritten hostet, z. B. http://www.adatum.com/. Diese Sicherheit wird auf der Ebene der HtmlWindow-Klasse implementiert. Sie können allgemeine Informationen über einen FRAME abrufen, der eine andere Website hostet, z. B. den URL, können aber nicht auf das Document zugreifen oder die Größe oder Position des FRAME oder IFRAME ändern.
Diese Regel gilt auch für Fenster, die Sie mit der Open-Methode und der OpenNew-Methode öffnen. Wenn sich das geöffnete Fenster in einer anderen Domäne befindet als die Seite, die im WebBrowser-Steuerelement gehostet wird, können Sie dieses Fenster weder verschieben noch seinen Inhalt untersuchen. Diese Einschränkungen gelten auch, wenn Sie das WebBrowser-Steuerelement zur Anzeige einer Website verwenden, die sich von der Website unterscheidet, die zur Bereitstellung der auf Windows Forms basierenden Anwendung verwendet wird. Wenn Sie die ClickOnce-Bereitstellungstechnologie zur Installation der Anwendung von Website A und den WebBrowser zur Anzeige von Website B verwenden, können Sie nicht auf die Daten von Website B zugreifen.
Weitere Informationen über siteübergreifende Skripterstellung finden Sie unter About Cross-Frame Scripting and Security (https://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/xframe\_scripting\_security.asp).