관리되는 HTML 문서 개체 모델의 프레임에 액세스

일부 HTML 문서는 프레임, 즉 고유 HTML 문서를 포함할 수 있는 창으로 구성됩니다. 프레임을 사용하면 탐색 모음과 같은 하나 이상의 페이지 조각은 정적으로 유지하면서 다른 프레임은 계속해서 내용이 변경되는 HTML 페이지를 쉽게 만들 수 있습니다.

HTML 작성자는 다음과 같은 두 가지 방법 중 하나로 프레임을 만들 수 있습니다.

  • 고정된 창을 만드는 FRAMESET 및 FRAME 태그 사용

또는

  • 런타임에 위치가 변경될 수 있는 부동 창을 만드는 IFRAME 태그 사용
  1. 프레임은 HTML 문서를 포함하기 때문에 DOM(문서 개체 모델)에 창 요소와 프레임 요소로 표시됩니다.

  2. HtmlWindow의 Frames 컬렉션을 사용하여 FRAME 또는 IFRAME 태그에 액세스하면 프레임에 해당하는 창 요소가 검색됩니다. 이 요소는 현재 URL, 문서 및 크기와 같은 프레임의 모든 동적 속성을 나타냅니다.

  3. HtmlWindowWindowFrameElement 속성, Children 컬렉션 또는 GetElementsByName이나 GetElementById와 같은 메서드를 사용하여 FRAME 또는 IFRAME 태그에 액세스하면 프레임 요소가 검색됩니다. 이 요소는 원본 HTML 파일에 지정된 URL을 비롯한 프레임의 정적 속성을 나타냅니다.

프레임 및 보안

프레임에 대한 액세스는 관리되는 HTML DOM에서 프레임 간 스크립팅 보안이라는 보안 방법을 구현하기 때문에 복잡합니다. 문서에 서로 다른 도메인에 있는 두 개 이상의 FRAME이 포함된 FRAMESET이 있으면 이러한 FRAME은 상호 작용할 수 없습니다. 즉, 현재 웹 사이트의 내용이 표시되는 FRAME에서 http://www.adatum.com/과 같은 타사 사이트를 호스팅하는 FRAME의 정보에 액세스할 수 없습니다. 이러한 보안은 HtmlWindow 클래스 수준에서 구현됩니다. 다른 웹 사이트를 호스팅하는 FRAME에 대해 URL과 같은 일반 정보를 가져올 수는 있지만 Document에 액세스할 수 없으며 호스팅 FRAME 또는 IFRAME의 크기나 위치를 변경할 수 없습니다.

이러한 규칙은 OpenOpenNew 메서드를 사용하여 여는 창에도 적용됩니다. WebBrowser 컨트롤에서 호스팅되는 페이지의 다른 도메인에 있는 창을 열면 해당 창을 이동하거나 내용을 확인할 수 없습니다. 이러한 제한은 WebBrowser 컨트롤을 사용하여 표시하는 웹 사이트가 Windows Forms 기반 응용 프로그램을 배포하는 데 사용한 웹 사이트와 다른 경우에도 적용됩니다. ClickOnce 배포 기술을 사용하여 A 웹 사이트의 응용 프로그램을 설치하고 WebBrowser를 사용하여 B 웹 사이트를 표시하면 B 웹 사이트의 데이터에 액세스할 수 없습니다.

사이트 간 스크립팅에 대한 자세한 내용은 프레임 간 스크립팅 및 보안 정보를 참조하십시오.

참고 항목

기타 리소스

FRAME Element | frame Object

관리되는 HTML 문서 개체 모델 사용