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
eFRAME
che creano finestre fisse.
-o-
- Usando il tag
IFRAME
, che crea una finestra mobile che può essere riposizionata in fase di esecuzione.
Poiché i frame contengono documenti HTML, vengono rappresentati nel DOM (Document Object Model) sia come elementi finestra che come elementi cornice.
Quando si accede a un tag
FRAME
oIFRAME
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.Quando si accede a un tag
FRAME
oIFRAME
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ù FRAME
in domini diversi, questi FRAME
non 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
.NET Desktop feedback