Condividi tramite


Accesso ai frame nel modello a oggetti documento HTML gestito

Alcuni documenti HTML sono costituiti da frameo finestre che possono contenere documenti HTML distinti. L'uso dei frame semplifica la creazione di pagine HTML in cui una o più parti della pagina rimangono statiche, ad esempio una barra di spostamento, mentre gli altri frame modificano costantemente il contenuto.

Gli autori HTML possono creare frame in uno dei due modi seguenti:

  • Uso dei tag FRAMESET e FRAME che creano finestre fisse.

-o-

  • Usando il tag IFRAME, che crea una finestra mobile che può essere riposizionata in fase di esecuzione.
  1. Poiché i frame contengono documenti HTML, vengono rappresentati nel DOM (Document Object Model) sia come elementi finestra che come elementi cornice.

  2. Quando si accede a un tag FRAME o IFRAME usando l'insieme Frames di HtmlWindow, si recupera l'elemento della finestra corrispondente al frame. Rappresenta tutte le proprietà dinamiche del frame, ad esempio l'URL, il documento e le dimensioni correnti.

  3. Quando si accede a un tag FRAME o IFRAME utilizzando la proprietà WindowFrameElement di HtmlWindow, l'insieme Children o metodi come GetElementsByName o GetElementById, si sta recuperando l'elemento frame. Rappresenta le proprietà statiche del frame, incluso l'URL specificato nel file HTML originale.

Frame e sicurezza

L'accesso ai frame è complicato dal fatto che il DOM HTML gestito implementa una misura di sicurezza nota come sicurezza di scripting tra frame. Se un documento contiene un FRAMESET con due o più FRAMEin domini diversi, questi FRAMEnon possono interagire tra loro. In altre parole, un FRAME che visualizza il contenuto del sito Web non può accedere alle informazioni in un FRAME che ospita un sito di terze parti, ad esempio http://www.adatum.com/. Questa sicurezza viene implementata a livello della classe HtmlWindow. È possibile ottenere informazioni generali su un FRAME che ospita un altro sito Web, ad esempio il relativo URL, ma non sarà possibile accedere al relativo Document o modificare le dimensioni o la posizione del relativo FRAME di hosting o IFRAME.

Questa regola si applica anche alle finestre aperte usando i metodi Open e OpenNew. Se la finestra aperta si trova in un dominio diverso dalla pagina ospitata nel controllo WebBrowser, non sarà possibile spostare tale finestra o esaminarne il contenuto. Queste restrizioni vengono applicate anche se si utilizza il controllo WebBrowser per visualizzare un sito Web diverso dal sito Web usato per distribuire l'applicazione basata su Windows Form. Se si usa la tecnologia di distribuzione ClickOnce per installare l'applicazione dal sito Web A e si usa la WebBrowser per visualizzare il sito Web B, non sarà possibile accedere ai dati del sito Web B.

Vedere anche