Yönetilen HTML Belgesi Nesne Modelindeki Çerçevelere Erişme

Bazı HTML belgeleri, kendi farklı HTML belgelerini tutabilecek çerçevelerdenveya pencerelerin dışındadır. Çerçeveler kullanmak, sayfanın bir veya daha fazla parçasının bir gezinti çubuğu gibi statik kaldığı, diğer çerçevelerin içerikleri sürekli olarak değiştirmesinin kolay bir şekilde HTML sayfaları oluşturulmasını kolaylaştırır.

HTML yazarları, iki şekilde çerçeve oluşturabilir:

  • FRAMESETFRAME Sabit pencereler oluşturan ve etiketlerini kullanma.

-veya-

  • IFRAMEÇalışma zamanında yeniden konumlandırılabilir bir kayan pencere oluşturan etiketini kullanma.
  1. Çerçeveler HTML belgeleri içerdiğinden, hem pencere öğeleri hem de çerçeve öğeleri olarak Belge Nesne Modeli (DOM) olarak temsil edilir.

  2. FRAMEIFRAME ' In çerçeveler koleksiyonunu kullanarak bir veya etiketine eriştiğinizde HtmlWindow , çerçeveye karşılık gelen pencere öğesini alırsınız. Bu, çerçevenin geçerli URL 'SI, belgesi ve boyutu gibi tüm dinamik özelliklerini temsil eder.

  3. FRAMEIFRAME , Veya gibi yöntemleri kullanarak bir veya etiketine eriştiğinizde, WindowFrameElementHtmlWindowChildrenGetElementsByNameGetElementById çerçeve öğesini alalolursunuz. Bu, özgün HTML dosyasında belirtilen URL de dahil olmak üzere çerçevenin statik özelliklerini temsil eder.

Çerçeveler ve güvenlik

Çerçevelere erişim, yönetilen HTML DOM 'ın çerçeveler arası betik oluşturma güvenliğiolarak bilinen bir güvenlik ölçüsü uyguladığı gerçeyle karmaşıktır. Bir belge FRAMESET , farklı etki alanlarında iki veya daha fazla s içeren bir içeriyorsa FRAME , bunlar birbirleriyle FRAME etkileşime giremezsiniz. Diğer bir deyişle, FRAME Web sitenizdeki içeriği görüntüleyen bir, FRAME gibi üçüncü taraf bir siteyi barındıran bir içindeki bilgilere erişemez http://www.adatum.com/ . Bu güvenlik, sınıf düzeyinde uygulanır HtmlWindow . Kendi FRAME URL 'si gibi başka bir Web sitesi barındırmakla ilgili genel bilgileri elde edebilirsiniz, ancak onun Document veya ya da onun boyutunu ya da konumunu veya konumunu değiştiremeyecektir FRAMEIFRAME .

Bu kural, ve yöntemlerini kullanarak açtığınız pencereler için de geçerlidir OpenOpenNew . Açtığınız pencere denetimde barındırılan sayfadan farklı bir etki alanında yer alıyorsa WebBrowser , pencereyi taşıyamayacak veya içeriğini incemeyeceksiniz. bu kısıtlamalar ayrıca, WebBrowser Windows Forms tabanlı uygulamanızı dağıtmak için kullanılan web sitesinden farklı bir web sitesini göstermek için denetim kullanırsanız de zorlanır. uygulamanızı web sitesinden yüklemek için ClickOnce dağıtım teknolojisini kullanıyorsanız ve WebBrowser web sitesini b 'yi göstermek için kullanıyorsanız, web sitesi b 'nin verilerine erişemeyeceksiniz.

Ayrıca bkz.