iframe的onload在Chrome/Opera中执行两次
<script> <BR>var ifr = document.createElement('iframe'); <BR>ifr.onload = function(){alert(1);}; <BR>document.body.insertBefore(ifr,document.body.childNodes[0]); <BR>ifr.src = 'http://www.baidu.com'; <BR></script>
解决方法很简单,改下代码顺序即可:创建iframe, 添加到body中,最后添加load事件。所有浏览器下将表现一致。
var ifr = document.createElement('iframe');
document.body.insertBefore(ifr,document.body.childNodes[0]);
ifr.src = 'http://www.baidu.com';
ifr.onload = function(){alert(1);};
此外用Safari5测试,没有alert,一直在载入中,能持续30s以上。大家试试看呢?
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn