Compartilhar via


Acessando quadros no modelo de objeto de documento HTML gerenciado

Alguns documentos HTML são compostos por 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 alteram constantemente seu conteúdo.

Os autores html podem criar quadros de uma das duas maneiras:

  • Usando as marcas 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 você acessa uma FRAME ou IFRAME tag pela coleção Frames de HtmlWindow, você está recuperando o elemento de janela correspondente ao frame. Isso representa todas as propriedades dinâmicas do quadro, como sua URL atual, documento e tamanho.

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

Quadros e segurança

O acesso a quadros é complicado pelo fato de que o DOM HTML gerenciado 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, eles FRAMEnão poderão interagir entre si. Em outras palavras, um FRAME que exibe conteúdo de seu site não pode acessar informações em um FRAME site que hospeda um site de terceiros, como http://www.adatum.com/. Essa segurança é implementada no nível da HtmlWindow classe. Você pode obter informações gerais sobre um FRAME que hospeda outro site, como sua URL, mas não poderá acessar seu Document ou alterar o tamanho ou a localização de seus FRAME ou IFRAME.

Essa regra também se aplica às 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 WebBrowser controle, você não poderá mover essa janela ou examinar seu conteúdo. Essas restrições também serão impostas se você usar o WebBrowser controle para exibir um site diferente do site usado para implantar seu aplicativo baseado no Windows Forms. Se você usar a tecnologia de implantação ClickOnce para instalar seu aplicativo a partir do site A e usar o WebBrowser para exibir o site B, não poderá acessar os dados do site B.

Consulte também