Udostępnij za pośrednictwem


Uzyskiwanie dostępu do ramek w modelu DOM (Document Object Model) zarządzanych dokumentów HTML

Niektóre dokumenty HTML składają się z ramek lub okien, które mogą przechowywać własne odrębne dokumenty HTML. Użycie ramek ułatwia tworzenie stron HTML, w których co najmniej jeden fragment strony pozostaje statyczny, taki jak pasek nawigacyjny, podczas gdy inne ramki stale zmieniają zawartość.

Autorzy kodu HTML mogą tworzyć ramki na jeden z dwóch sposobów:

  • Za pomocą tagów FRAMESET i FRAME utwórz stałe okna.

— lub —

  • Za pomocą tagu IFRAME tworzy przestawne okno, które można zmienić w czasie wykonywania.
  1. Ponieważ ramki zawierają dokumenty HTML, są one reprezentowane w modelu obiektów dokumentów (DOM) jako zarówno elementy okna, jak i elementy ramki.

  2. W przypadku uzyskiwania FRAME dostępu do tagu lub IFRAME przy użyciu kolekcji HtmlWindowFrame (Klatki) pobierasz element okna odpowiadający ramce. Reprezentuje to wszystkie właściwości dynamiczne ramki, takie jak jego bieżący adres URL, dokument i rozmiar.

  3. Gdy uzyskujesz dostęp do FRAME tagu HtmlWindowlub IFRAME przy użyciu WindowFrameElement właściwości , Children kolekcji lub metod, takich jak GetElementsByName lub GetElementById, pobierasz element ramki. Reprezentuje to statyczne właściwości ramki, w tym adres URL określony w oryginalnym pliku HTML.

Ramki i zabezpieczenia

Dostęp do ramek jest skomplikowany dzięki temu, że zarządzany dom HTML implementuje środek zabezpieczeń znany jako zabezpieczenia skryptów krzyżowych. Jeśli dokument zawiera element FRAMESET z co najmniej dwoma FRAMEelementami w różnych domenach, te FRAMEelementy nie mogą współdziałać ze sobą. Innymi słowy, element FRAME wyświetlający zawartość z witryny sieci Web nie może uzyskać dostępu do informacji w FRAME witrynie hostujących witrynę innej firmy, taką jak http://www.adatum.com/. Te zabezpieczenia są implementowane na poziomie HtmlWindow klasy. Możesz uzyskać ogólne informacje o hostowaniu FRAME innej witryny sieci Web, takiej jak jej adres URL, ale nie będzie można uzyskać dostępu do jej Document lub zmienić rozmiaru lub lokalizacji hostingu FRAME lub IFRAME.

Ta reguła dotyczy również okien otwieranych przy użyciu Open metod i OpenNew . Jeśli otwarte okno znajduje się w innej domenie niż strona hostowana w kontrolce WebBrowser , nie będzie można przenieść tego okna ani sprawdzić jego zawartości. Te ograniczenia są również wymuszane, jeśli używasz kontrolki WebBrowser do wyświetlania witryny sieci Web innej niż witryna sieci Web używana do wdrażania aplikacji opartej na formularzach systemu Windows. Jeśli używasz technologii wdrażania ClickOnce do instalowania aplikacji z witryny sieci Web A, a do wyświetlania witryny sieci Web B nie WebBrowser będzie można uzyskać dostępu do danych witryny sieci Web B.

Zobacz też