iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
更新時間:2011年03月17日 00:20:38 作者:
創(chuàng)建iframe對象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會造成load事件的handler執(zhí)行兩次。
復(fù)制代碼 代碼如下:
<!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)一致。
復(fù)制代碼 代碼如下:
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以上。大家試試看呢?
相關(guān)文章
如何解決easyui自定義標簽 datagrid edit combobox 手動輸入保存不上
這篇文章主要介紹了如何解決easyui自定義標簽 datagrid edit combobox 手動輸入保存不上,需要的朋友可以參考下2015-12-12
KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流foreach綁定
這篇文章主要介紹了KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流foreach綁定的相關(guān)資料,需要的朋友可以參考下2016-10-10
JavaScript BASE64算法實現(xiàn)(完美解決中文亂碼)
這篇文章主要介紹了JavaScript BASE64算法實現(xiàn)(完美解決中文亂碼),先用escape()對中文進行編碼.然后再進行base64編碼. 解碼時,再加入()對中文進行解碼,這樣就可以避免中文亂碼問題2017-01-01
JavaScript Scoping and Hoisting 翻譯
希望這篇文章能夠給JavaScript程序員最容易困惑的部分一些啟示。我盡力寫的全面,以免引起更多的困惑。如果我寫錯了或是漏掉了某些重要的東西,請一定讓我知道2012-07-07
Lerna入門之管理TypeScript monorepo教程
這篇文章主要為大家介紹了Lerna入門之管理TypeScript monorepo教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
JavaScript數(shù)組去重的五種方法及其他細節(jié)和拓展
JavaScript數(shù)組去重這個問題,經(jīng)常出現(xiàn)在面試題中,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組去重的五種方法及其他細節(jié)和拓展的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下2022-12-12

