> 웹 프론트엔드 > JS 튜토리얼 > iframe_javascript 기술을 운영하는 js의 몇 가지 방법 소개

iframe_javascript 기술을 운영하는 js의 몇 가지 방법 소개

WBOY
풀어 주다: 2016-05-16 17:31:22
원래의
1184명이 탐색했습니다.

1. iframe의 창 객체 얻기
도메인 간 접근 제한이 있습니다.

크롬: iframeElement.contentWindow
firefox: iframeElement.contentWindow
ie6: iframeElement.contentWindow

Iframes, onload 및 document.domain 기사에는 "iframe 요소 개체에는 iframe의 문서 개체가 포함된 contentDocument라는 속성이 있으므로 parentWindow 속성을 사용하여 창 개체를 검색할 수 있습니다."라고 나와 있습니다. iframe의 창 개체는 iframeElement.contentDocument.parentWindow를 통해 얻을 수 있습니다. 그러나 테스트 후 Firefox 및 Chrome의 element.contentDocument 개체에는 parentWindow 속성이 없습니다.

(javascript)

코드 복사 코드는 다음과 같습니다.

function getIframeWindow( element){
return element.contentWindow;
//return element.contentWindow || element.contentDocument.parentWindow;

2. iframe의 문서 객체 얻기
도메인 간 접근 제한이 있습니다.

chrome: iframeElement.contentDocument

firefox: iframeElement.contentDocument
ie: element.contentWindow.document
참고: 즉, iframeElement.contentDocument 속성이 없습니다.

(javascript)


코드 복사 코드는 다음과 같습니다.
var getIframeDocument = function(element ) {
return element.contentDocument ||
};

3. iframe
의 상위 페이지에서 얻은 창 개체에는 도메인 간 액세스 제한이 있습니다.

상위 페이지: window.parent
상위 페이지: window.top
모든 브라우저에 적용


4. 상위 페이지에서 iframe의 html 태그를 얻습니다.

도메인 간 접근 제한이 있습니다.

window.frameElement(유형: HTMLElement), 모든 브라우저에서 작동

5. iframe 온로드 이벤트

IE가 아닌 모든 브라우저는 온로드 이벤트를 제공합니다. 예를 들어 다음 코드에는 IE에 팝업 상자가 없습니다.

(javascript)


코드 복사

코드는 다음과 같습니다.var ifr = document.createElement('iframe'); ifr.src = 'http://www.jb51.net/index.php'
ifr.onload = function() {
Alert('loaded ');
};
document.body.appendChild(ifr);


그러나 IE는 onload 이벤트를 제공하는 것으로 보입니다.

방법 1:


코드 복사


방법 2:
//IE에서만 createElement에 대한 매개변수 전달을 지원합니다.


코드 복사
코드는 다음과 같습니다: var ifr = document.createElement(''); document.body.appendChild(ifr);

iframe 요소가 상위 페이지에 포함되어 있으므로 교차가 없습니다. 위 방법의 도메인 문제.

실제로 IE는 onload 이벤트를 제공하지만, attachmentEvent를 사용하여 바인딩해야 합니다.

코드 복사

코드는 다음과 같습니다. var ifr = document.createElement('iframe '); ifr.src = 'http://b.jb51.net/b.php';
if (ifr.attachEvent) {
ifr.attachEvent('onload', function() { 경고( '로드됨'); });
} else {
ifr.onload = function() { 경고('로드됨') }
document.body.appendChild( ifr)

6. 프레임
window.frames는 페이지의 프레임(iframe, 프레임 등)을 가져올 수 있습니다. HTMLElement가 아니라 창 개체라는 점에 유의해야 합니다.

코드 복사 코드는 다음과 같습니다.

var ifr1 = document.getElementById('ifr1 '); var ifr1win = window.frames[0];
ifr1win.frameElement === ifr1; // true
ifr1win === ifr1; >
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿