iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
更新時間:2011年03月17日 00:20:38 作者:
創(chuàng)建iframe對象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會造成load事件的handler執(zhí)行兩次。
復制代碼 代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>iframe的onload在Chrome/Opera中執(zhí)行兩次</title>
</head>
<body>
<script>
var ifr = document.createElement('iframe');
ifr.onload = function(){alert(1);};
document.body.insertBefore(ifr,document.body.childNodes[0]);
ifr.src = 'http://www.baidu.com';
</script>
</body>
</html>
解決方法很簡單,改下代碼順序即可:創(chuàng)建iframe, 添加到body中,最后添加load事件。所有瀏覽器下將表現(xiàn)一致。
復制代碼 代碼如下:
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,一直在載入中,能持續(xù)30s以上。大家試試看呢?
相關文章
JavaScript:new 一個函數(shù)和直接調用函數(shù)的區(qū)別分析
或許許多人對此不以為然,在函數(shù)前加 new 關鍵字,不就是實例化一個對象嗎?但事情顯然沒那么簡單2013-07-07IE瀏覽器不支持getElementsByClassName的解決方法
這篇文章主要介紹了IE瀏覽器不支持getElementsByClassName的解決方法,本文的方法比較完美的解決了這個問題,需要的朋友可以參考下2014-08-08javascript動態(tài)創(chuàng)建對象的屬性詳解
在本篇文章中我們給大家分享了關于javascript動態(tài)創(chuàng)建對象的屬性的相關知識點以及代碼分享,需要的朋友們參考學習下。2018-11-11使用Three.js實現(xiàn)太陽系八大行星的自轉公轉示例代碼
這篇文章主要給大家介紹了關于如何使用Three.js實現(xiàn)太陽系八大行星的自轉公轉的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Three.js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04