最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于JS判斷iframe是否加載成功的方法(多種瀏覽器)

 更新時間:2016年05月13日 10:13:44   投稿:mrr  
這篇文章主要介紹了基于JS判斷iframe是否加載成功的方法【多種瀏覽器】的相關資料,需要的朋友可以參考下

推薦閱讀:

JS iFrame加載慢怎么解決

在項目中經常要動態(tài)添加iframe,然后再對添加的iframe進行相關操作,而往往iframe還沒添加完呢,后邊的代碼就已經執(zhí)行完了,所以有些你寫的東西根本沒有顯示出來。這時,我們就要考慮是否可以等iframe加載完后再執(zhí)行后邊的操作,當然,各種瀏覽器早就為我們考慮到啦,看下面:

ie瀏覽器

IE的每個elem節(jié)點都會擁有一個onreadystatechange事件,這個事件每次在elem內容發(fā)送變化的時候觸發(fā),比如內容正在載入loading會觸發(fā),內容載入完畢loaded會觸發(fā),內容載入成功complete會觸發(fā),這個函數(shù)還需要配合readyState,這是ie上每個elem都擁有的屬性,用來查看每次觸發(fā)時候的狀態(tài)。

//先為iframe 添加一個 onreadystatechange
iframe.attachEvent("onreadystatechange", function(){
//此事件在內容沒有被載入時候也會被觸發(fā),所以我們要判斷狀態(tài)
//有時候會比較怪異 readyState狀態(tài)會跳過 complete 所以我們loaded狀態(tài)也要判斷
if(iframe.readyState === "complete" || iframe.readyState == "loaded"){
//代碼能執(zhí)行到這里說明已經載入成功完畢了
//要清除掉事件
iframe.detachEvent( "onreadystatechange", arguments.callee);
//這里是回調函數(shù)
}
});

其他瀏覽器(Firefox,Opera,chrome等 )

在其他非IE的瀏覽器上 Firefox,Opera,chrome等 iframe 都會擁有一個 onload 事件,此事件只要觸發(fā)就說名內容已經加載完畢。

iframe.addEventListener( "load", function(){
//代碼能執(zhí)行到這里說明已經載入成功完畢了
this.removeEventListener( "load", arguments.call, false);
//這里是回調函數(shù)
}, false);

綜合一下

if(iframe.attachEvent){
iframe.attachEvent("onreadystatechange", function() {
//此事件在內容沒有被載入時候也會被觸發(fā),所以我們要判斷狀態(tài)
//有時候會比較怪異 readyState狀態(tài)會跳過 complete 所以我們loaded狀態(tài)也要判斷
if (iframe.readyState === "complete" || iframe.readyState == "loaded") {
//代碼能執(zhí)行到這里說明已經載入成功完畢了
//要清除掉事件
iframe.detachEvent("onreadystatechange", arguments.callee);
//這里是回調函數(shù)
}
});
}else{
iframe.addEventListener("load", function() {
//代碼能執(zhí)行到這里說明已經載入成功完畢了
this.removeEventListener("load", arguments.call, false);
//這里是回調函數(shù)
}, false);
}

注意:上面的函數(shù)必須放在 iframe 被appendChild到body后,否則不會被觸發(fā)

以上內容是小編給大家介紹的JS判斷iframe是否加載成功的方法,希望對大家有所幫助!

相關文章

  • 完美解決JS文件頁面加載時的阻塞問題

    完美解決JS文件頁面加載時的阻塞問題

    下面小編就為大家?guī)硪黄昝澜鉀QJS文件頁面加載時的阻塞問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 詳解關于JSON.parse()和JSON.stringify()的性能小測試

    詳解關于JSON.parse()和JSON.stringify()的性能小測試

    這篇文章主要介紹了詳解關于JSON.parse()和JSON.stringify()的性能小測試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 前端發(fā)布緩存導致白屏幾種解決方案總結

    前端發(fā)布緩存導致白屏幾種解決方案總結

    這篇文章主要介紹了前端發(fā)布緩存導致白屏的幾種解決方案,文章還介紹了Jenkins發(fā)布流程優(yōu)化和使用版本號方案,以減少發(fā)布緩存問題,每種方案都有其優(yōu)缺點,需要根據(jù)實際情況進行選擇和調整,需要的朋友可以參考下
    2025-04-04
  • javascript中對對層的控制

    javascript中對對層的控制

    javascript中對對層的控制...
    2006-12-12
  • javascript事件冒泡詳解和捕獲、阻止方法

    javascript事件冒泡詳解和捕獲、阻止方法

    雖然精通jquery,但對它的原型javascript卻不是很了解,最近在學習javascript中遇到了一些困難,比如冒泡和捕獲,很多次被提到,但又不知究竟應用在何處。找到了一些好文章解惑,在這里分享給大家
    2014-04-04
  • 微信小程序實現(xiàn)下拉刷新和上拉分頁效果的方法詳解

    微信小程序實現(xiàn)下拉刷新和上拉分頁效果的方法詳解

    這篇文章主要為大家詳細介紹了微信小程序動畫是如何實現(xiàn)下拉刷新和上拉分頁效果的,文中示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • prototype框架中美元符號$用法分析

    prototype框架中美元符號$用法分析

    這篇文章主要介紹了prototype框架中美元符號$用法,結合實例形式較為詳細的分析了$符號的使用技巧與相關注意事項,需要的朋友可以參考下
    2016-01-01
  • javascript代碼混淆與加解密方式

    javascript代碼混淆與加解密方式

    這篇文章主要介紹了javascript代碼混淆與加解密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • JavaScript常見繼承模式實例小結

    JavaScript常見繼承模式實例小結

    這篇文章主要介紹了JavaScript常見繼承模式,結合實例形式總結分析了javascript原型鏈繼承、構造函數(shù)繼承、組合繼承、原型式繼承、寄生式繼承等相關實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-01-01
  • fckeditor 獲取文本框值的實現(xiàn)代碼

    fckeditor 獲取文本框值的實現(xiàn)代碼

    獲取文本框值的實現(xiàn)代碼
    2009-02-02

最新評論

新巴尔虎左旗| 柳州市| 平凉市| 清远市| 彰化县| 巨野县| 焦作市| 昂仁县| 江西省| 南投市| 格尔木市| 思茅市| 洪雅县| 扶绥县| 桓台县| 义马市| 太仓市| 阳原县| 德江县| 巴东县| 泰来县| 外汇| 汝城县| 宝清县| 扶风县| 邛崃市| 陈巴尔虎旗| 开化县| 拉萨市| 茶陵县| 健康| 贡觉县| 萝北县| 达日县| 西峡县| 尼玛县| 普陀区| 神农架林区| 富裕县| 苍山县| 江孜县|