存取 Managed HTML 文件物件模型中的框架
某些 HTML 檔案是由框架 所組成 ,或視窗可以保存自己的不同 HTML 檔案。 使用框架可讓您輕鬆地建立 HTML 網頁,該 HTML 網頁的其中一個或多個頁面片段維持靜態,例如導覽列,而其他框架則不斷變更其內容。
HTML 作者可以用兩種方法之一來建立框架:
- 使用
FRAMESET
和FRAME
標記,這會建立固定的視窗。
-或-
- 使用
IFRAME
標記,這會建立可以在執行階段中重新定位的浮動視窗。
因為框架包含 HTML 文件,它們會在文件物件模型 (DOM) 中顯示為視窗項目和框架項目。
當您使用 HtmlWindow 的框架集合存取
FRAME
或IFRAME
標記時,您會擷取對應至框架的視窗項目。 這代表框架的所有動態屬性,例如其目前的 URL、文件及大小。當您使用 HtmlWindow 的 WindowFrameElement 屬性、Children 集合,或例如 GetElementsByName 或 GetElementById 等方法存取
FRAME
或IFRAME
標記時,您會擷取框架項目。 這代表框架的靜態屬性,包括在原始 HTML 檔案中指定的 URL。
框架和安全性
存取框架很複雜,因為受控 HTML DOM 實作稱為 跨框架腳本安全性的安全性 量值。 如果文件包含 FRAMESET
與不同網域中的兩個或更多 FRAME
,這些 FRAME
無法彼此互動。 換句話說, FRAME
顯示您網站內容的 ,無法存取裝載協力廠商網站的資訊 FRAME
,例如 http://www.adatum.com/
。 此安全性實作是屬於 HtmlWindow 類別的層級。 您可以取得關於裝載另一個網站之 FRAME
的一般資訊,例如它的 URL,但您將無法存取其 Document 或變更其裝載 FRAME
或 IFRAME
的大小或位置。
此規則也適用於以 Open 和 OpenNew 方法開啟的視窗。 如果您開啟的視窗位於與 WebBrowser 控制項中裝載頁面不同的網域,則您將無法移動該視窗,或檢查其內容。 如果您使用 WebBrowser 控制項來顯示與用來部署 Windows Form 應用程式的網站不同的網站,也會強制這些限制。 如果您使用 ClickOnce 部署技術從網站 A 安裝應用程式,而您使用 WebBrowser 來顯示網站 B,您將無法存取網站 B 的資料。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應