Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Alcuni documenti HTML sono composti da frame, ovvero da finestre in grado di contenere propri documenti HTML distinti. L'utilizzo di frame semplifica la creazione di pagine HTML in cui uno o più elementi rimangono statici, ad esempio una barra di spostamento, mentre in altri frame il contenuto varia costantemente.
Gli autori di pagine HTML possono creare frame scegliendo tra due modalità:
- Utilizzo dei tag FRAMESET e FRAME, che creano finestre fisse.
-oppure-
- Utilizzo del tag IFRAME, che crea una finestra mobile riposizionabile in fase di esecuzione.
Poiché i frame contengono documenti HTML, nel Document Object Model sono rappresentati sotto forma sia di elementi finestra che di elementi frame.
Quando si accede a un tag FRAME o IFRAME utilizzando l'insieme Frames della classe HtmlWindow, si recupera l'elemento finestra corrispondente al frame. Questo rappresenta tutte le proprietà dinamiche del frame, vale a dire l'URL, il documento e le dimensioni correnti.
Quando si accede a un tag FRAME o IFRAME utilizzando la proprietà WindowFrameElement della classe HtmlWindow, l'insieme Children o metodi quali GetElementsByName o GetElementById, si recupera l'elemento frame. Questo rappresenta le proprietà statiche del frame, tra cui l'URL specificato nel file HTML originale.
Frame e protezione
L'accesso ai frame è complicato dal fatto che il DOM HTML gestito implementa una misura di protezione nota come protezione dell'interazione tra frame tramite scripting. Se in un documenti è presente un FRAMESET con due o più FRAME in domini diversi, i FRAME non potranno interagire. Ciò significa che per un FRAME che visualizza contenuto del sito Web dello sviluppatore non è possibile accedere alle informazioni di un FRAME che include un sito di terze parti, as esempio http://www.adatum.com/. La protezione è implementata al livello della classe HtmlWindow. È possibile ottenere informazioni generali su un FRAME che contiene un altro sito Web, ad esempio il relativo URL, ma non sarà possibile accedere alla relativa proprietà Document o modificare le dimensioni o la posizione del tag FRAME o IFRAME host.
Tale regola viene applicata anche alle finestre aperte utilizzando i metodi Open e OpenNew. Se si apre una finestra appartenente a un dominio diverso dalla pagina contenuta nel controllo WebBrowser, non sarà possibile spostarla o esaminarne il contenuto. Le stesse limitazioni valgono anche quando si utilizza il controllo WebBrowser per visualizzare un sito Web diverso da quello utilizzato per distribuire l'applicazione basata su Windows Form. Se si utilizza la tecnologia di distribuzione ClickOnce per installare l'applicazione dal sito Web A e si utilizza la classe WebBrowser per visualizzare il sito Web B, non sarà possibile accedere ai dati contenuti nel sito Web B.
Per ulteriori informazioni sugli script su più siti, vedere About Cross-Frame Scripting and Security (https://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/xframe\_scripting\_security.asp).