Sdílet prostřednictvím


Přístup k rámcům ve spravovaném objektovém modelu dokumentu HTML

Některé dokumenty HTML se skládají z rámcůnebo oken, které mohou obsahovat vlastní jedinečné dokumenty HTML. Použití rámců usnadňuje vytváření stránek HTML, ve které jedna nebo více částí stránky zůstává statická, například navigační panel, zatímco obsah ostatních rámců se neustále mění.

Autoři HTML můžou vytvářet rámce jedním ze dvou způsobů:

  • Pomocí značek FRAMESET a FRAME, které vytvářejí pevná okna.

-nebo-

  • Pomocí značky IFRAME, která vytvoří plovoucí okno, které lze přemístit za běhu.
  1. Vzhledem k tomu, že rámce obsahují dokumenty HTML, jsou reprezentovány v modelu DOM (Document Object Model) jako prvky okna i prvky rámce.

  2. Když přistupujete pomocí kolekce rámců HtmlWindowke značce FRAME nebo IFRAME, načítáte prvek okna odpovídající rámci. Představuje všechny dynamické vlastnosti rámce, jako je jeho aktuální adresa URL, dokument a velikost.

  3. Když přistupujete ke značce FRAME nebo IFRAME pomocí WindowFrameElement vlastnosti HtmlWindow, kolekce Children nebo metod, jako jsou GetElementsByName nebo GetElementById, načítáte prvek rámce. Představuje statické vlastnosti rámce, včetně adresy URL zadané v původním souboru HTML.

Rámce a zabezpečení

Přístup k rámcům je komplikovaný tím, že spravovaný HTML DOM implementuje bezpečnostní opatření označované jako zabezpečení skriptování mezi rámci. Pokud dokument obsahuje FRAMESET se dvěma nebo více FRAMEv různých doménách, nemůžou tyto FRAMEvzájemně komunikovat. Jinými slovy, FRAME, který zobrazuje obsah z vašeho webu, nemůže získat přístup k informacím v FRAME, který je hostitelem webu třetí strany, například http://www.adatum.com/. Toto zabezpečení je implementováno na úrovni třídy HtmlWindow. Můžete získat obecné informace o FRAME hostující jiný web, například jeho adresu URL, ale nebudete mít přístup k jeho Document nebo změnit velikost nebo umístění hostování FRAME nebo IFRAME.

Toto pravidlo platí také pro okna, která otevřete pomocí metod Open a OpenNew. Pokud je otevřené okno v jiné doméně než stránka hostovaná v ovládacím prvku WebBrowser, nebudete moct toto okno přesunout ani prozkoumat jeho obsah. Tato omezení se vynucují také v případě, že použijete ovládací prvek WebBrowser k zobrazení webu, který se liší od webu použitého k nasazení aplikace založené na modelu Windows Forms. Pokud k instalaci aplikace z webu A použijete technologii nasazení ClickOnce a použijete WebBrowser k zobrazení webu B, nebudete mít přístup k datům webu B.

Viz také