>  기사  >  웹 프론트엔드  >  Chrome/Opera_javascript 기술에서 iframe의 onload가 두 번 실행되는 버그에 대한 해결 방법

Chrome/Opera_javascript 기술에서 iframe의 onload가 두 번 실행되는 버그에 대한 해결 방법

WBOY
WBOY원래의
2016-05-16 18:09:051439검색
코드 복사 코드는 다음과 같습니다.

;


iframe의 온로드가 Chrome/Opera ;

<script> <BR>var ifr = document.createElement('iframe') <BR>ifr.onload = function(){alert(1);}; >document.body.insertBefore(ifr,document.body.childNodes[0]) <BR>ifr.src = 'http://www.baidu.com' <BR></script> ;/body>



해결 방법은 매우 간단합니다. 코드 순서를 변경하면 됩니다. iframe을 만들고 이를 본문에 추가한 다음 마지막으로 로드를 추가합니다. 이벤트. 모든 브라우저에서 동일하게 작동합니다.



코드 복사
코드는 다음과 같습니다. var ifr = document.createElement('iframe '); document.body.insertBefore(ifr,document.body.childNodes[0])
ifr.src = 'http://www.baidu.com'
ifr.onload = function() {alert(1);};


추가적으로 Safari 5로 테스트해봤습니다. 경고도 없고 계속 로딩되고 30초 이상 지속될 수 있습니다. 한번 시도해 보시겠어요?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.