Поделиться через


Доступ к фреймам с использованием управляемой объектной модели HTML-документов

Некоторые HTML-документы состоят из фреймов или окон, в которых расположены другие HTML-документы. Использование фреймов упрощает создание HTML-страниц, в которых одна или несколько частей страницы остаются статичными, например область переходов, в то время как в других фреймах содержимое постоянно изменяется.

Разработчики HTML-страниц могут создавать фреймы одним из двух способов:

  • При помощи тегов FRAMESET и FRAME, которые создают фиксированные окна.

– или –

  • При помощи тега IFRAME, который создает плавающее окно, положение которого можно изменить во время выполнения.
  1. Так как фреймы содержат HTML-документы, они представлены в объектной модели Document Object Model (DOM) как элементы окон, так и элементы фреймов.

  2. Если обратиться к тегам FRAME или IFRAME при помощи коллекции Frames HtmlWindow, вызывается элемент окна, соответствующий фрейму. Это представляет все динамические свойства фрейма, такие как текущий URL-адрес, документ и размер.

  3. Если обратиться к тегу FRAME или IFRAME при помощи свойства WindowFrameElement HtmlWindow, семейства Children или методов, таких как GetElementsByName или GetElementById, вызывается элемент фрейма. Это представляет статические свойства фрейма, включая URL-адрес, указанный в исходном HTML-файле.

Фреймы и безопасность

Доступ к фреймам усложняется тем фактом, что управляемая модель HTML DOM реализуется меры безопасности, называемые безопасностью кода фреймов. Если документ содержит FRAMESET с двумя или более FRAME в различных доменах, такие FRAME не смогут взаимодействовать друг с другом. Другими словами, FRAME с содержимым веб-узла не сможет получить доступ к FRAME, где размещен сторонний узел, такой как http://www.adatum.com/. Безопасность реализуется на уровне класса HtmlWindow. Можно получить общие сведения о FRAME с другим веб-узлом, такие как URL-адрес, но доступ к его документам Document, изменения размера или местоположения основного FRAME или IFRAME будут невозможны.

Это же правило применяется к окнам, открываемым с помощью методов Open и OpenNew. Если открываемое окно расположено не в том домене, где размещается страница в элементе управления WebBrowser, перемещение окна для просмотра его содержимого будет недоступно. Эти ограничения также применяются принудительно, если для отображения веб-узла, который не является веб-узлом, используемым для развертывания приложения Windows Forms, используется элемент управления WebBrowser. Для установки приложения с веб-узла А используется технология развертывания ClickOnce, и WebBrowser используется для отображения веб-узла Б, доступ к данным веб-узла Б будет невозможен.

Дополнительные сведения о межсайтовых скриптах см. в документе About Cross-Frame Scripting and Security.

См. также

Другие ресурсы

FRAME Element | frame Object

Использование управляемой объектной модели HTML-документов