Partilhar via


Acessando quadros no modelo de objeto de documento HTML gerenciado

Alguns documentos HTML são compostos a partir de quadros ou janelas que podem conter seus próprios documentos HTML distintos. O uso de quadros facilita a criação de páginas HTML nas quais uma ou mais partes da página permanecem estáticas, como uma barra de navegação, enquanto outros quadros mudam constantemente seu conteúdo.

Os autores HTML podem criar quadros de duas maneiras:

  • Usando as tags FRAMESET e FRAME, que criam janelas fixas.

-ou-

  • Usando a tag IFRAME, que cria uma janela flutuante que pode ser reposicionada em tempo de execução.
  1. Como os quadros contêm documentos HTML, eles são representados no DOM (Document Object Model) como elementos de janela e elementos de quadro.

  2. Quando se acede a uma etiqueta FRAME ou IFRAME usando a coleção Frames do HtmlWindow, está a recuperar o elemento janela correspondente à moldura. Isso representa todas as propriedades dinâmicas do quadro, como URL, documento e tamanho atuais.

  3. Quando acede a uma tag FRAME ou IFRAME através da propriedade WindowFrameElement de HtmlWindow, da coleção Children, ou de métodos como GetElementsByName ou GetElementById, está a recuperar o elemento frame. Isso representa as propriedades estáticas do quadro, incluindo a URL especificada no arquivo HTML original.

Caixilharia e Segurança

O acesso a quadros é complicado pelo facto de que o HTML DOM gerido implementa uma medida de segurança conhecida como segurança de script entre quadros . Se um documento contiver um FRAMESET com dois ou mais FRAMEs em domínios diferentes, esses FRAMEs não poderão interagir uns com os outros. Em outras palavras, um FRAME que exibe conteúdo do seu site não pode acessar informações em um FRAME que hospeda um site de terceiros, como http://www.adatum.com/. Esta segurança é implementada ao nível da classe HtmlWindow. Você pode obter informações gerais sobre um FRAME que está a hospedar outro site, como a sua URL, mas não poderá aceder ao seu Document ou alterar o tamanho ou a localização da sua FRAME de hospedagem ou IFRAME.

Esta regra também se aplica a janelas que você abre usando os métodos Open e OpenNew. Se a janela aberta estiver em um domínio diferente da página hospedada no controle WebBrowser, você não poderá mover essa janela ou examinar seu conteúdo. Essas restrições também são impostas se você usar o controle WebBrowser para exibir um site diferente do site usado para implantar seu aplicativo baseado em Windows Forms. Se utilizar a tecnologia de implementação ClickOnce para instalar a aplicação a partir do Web site A e utilizar o WebBrowser para apresentar o Web site B, não poderá aceder aos dados do Web site B.

Ver também