js 判斷腳本加載完畢的代碼
更新時(shí)間:2011年07月13日 16:37:46 作者:
記錄一段代碼,用來(lái)判斷腳本是否加載完畢。
復(fù)制代碼 代碼如下:
if(this.isIE) {
js.onreadystatechange=function(){if(js.readyState=="loaded" || js.readyState=="complete") callback();}
}else{js.onload=function(){callback();}}
js.onerror=function(){alert('Not Found (404): '+src)}//chrome
JS判斷腳本是否加載完成
在“按需加載”的需求中,我們經(jīng)常會(huì)判斷當(dāng)腳本加載完成時(shí),返回一個(gè)回調(diào)函數(shù),那如何去判斷腳本的加載完成呢?
我們可以對(duì)加載的 JS 對(duì)象使用 onload 來(lái)判斷(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 瀏覽器都能很好的支持,但 IE6、IE7 卻不支持。曲線救國(guó) —— IE6、IE7 我們可以使用 js.onreadystatechange 來(lái)跟蹤每個(gè)狀態(tài)變化的情況(一般為 loading 、loaded、interactive、complete),當(dāng)返回狀態(tài)為 loaded 或 complete 時(shí),則表示加載完成,返回回調(diào)函數(shù)。
對(duì)于 readyState 狀態(tài)需要一個(gè)補(bǔ)充說(shuō)明:
在 interactive 狀態(tài)下,用戶可以參與互動(dòng)。
Opera 其實(shí)也支持 js.onreadystatechange,但他的狀態(tài)和 IE 的有很大差別。
具體實(shí)現(xiàn)代碼如下:
復(fù)制代碼 代碼如下:
function include_js(file) {
var _doc = document.getElementsByTagName('head')[0];
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', file);
_doc.appendChild(js);
if (!/*@cc_on!@*/0) { //if not IE
//Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload
js.onload = function () {
alert('Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload');
}
} else {
//IE6、IE7 support js.onreadystatechange
js.onreadystatechange = function () {
if (js.readyState == 'loaded' || js.readyState == 'complete') {
alert('IE6、IE7 support js.onreadystatechange');
}
}
}
return false;
}
//execution function
include_js('http://m.fzitv.net/jslib//jquery/jquery.js');
相關(guān)文章
Javascript表單特效之十大常用原理性樣例代碼大總結(jié)
開頭說(shuō)這個(gè)常用原理性樣例,大家可能不太清楚,這篇文章主要是針對(duì)實(shí)際開發(fā)中常用的一些代碼分析,主要是針對(duì)表單處理方法的一些資料,推薦大家收藏2016-07-07
js 得到文件后綴(通過(guò)正則實(shí)現(xiàn))
使用js獲取文件的后綴,有個(gè)不錯(cuò)的正則,大家可以借用下,具體如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07
淺談tudou土豆網(wǎng)首頁(yè)圖片延遲加載的效果
經(jīng)常上tudou網(wǎng),發(fā)現(xiàn)tudou首頁(yè)加載圖片的功能很有意思,tudou首頁(yè)從"娛樂(lè)"這個(gè)板塊往下的所有視頻的縮略圖并不是在頁(yè)面打開后就加載的,而是當(dāng)用戶拖動(dòng)滾動(dòng)條到了"娛樂(lè)"這個(gè)板塊,才開始加載圖片的。2010-06-06
實(shí)現(xiàn)圖片預(yù)加載的三大方法及優(yōu)缺點(diǎn)分析
本文介紹了實(shí)現(xiàn)圖片預(yù)加載的三大方法(CSS/JAVASCRIPT/AJAX)以及這三種方法的優(yōu)缺點(diǎn)分析,是篇非常值得推薦的文章,小伙伴們可要仔細(xì)研究下。2014-11-11
微信小程序開發(fā)之map地圖組件定位并手動(dòng)修改位置偏差
這篇文章主要介紹了微信小程序開發(fā)之map地圖組件,定位,并手動(dòng)修改位置偏差,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
js開發(fā)一個(gè)類似ChatGPT的AI應(yīng)用助手
一位創(chuàng)業(yè)朋友想做一個(gè)垂直領(lǐng)域的AI助手,經(jīng)過(guò)一個(gè)月的開發(fā)迭代,我們成功上線了第一個(gè)版本,這篇文章分享了開發(fā)一個(gè)類似ChatGPT的應(yīng)用的過(guò)程,包括技術(shù)選型、架構(gòu)設(shè)計(jì)和實(shí)戰(zhàn)經(jīng)驗(yàn),實(shí)現(xiàn)了流式響應(yīng)、上下文記憶系統(tǒng)和優(yōu)化提示詞,應(yīng)用得到了用戶的高度評(píng)價(jià)2024-12-12
JavaScript數(shù)組reduce()方法的語(yǔ)法與實(shí)例解析
js函數(shù)中有三個(gè)在特定場(chǎng)合很好用的函數(shù):reduce(),map(),filter(),這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組reduce()方法的相關(guān)資料,需要的朋友可以參考下2021-07-07
bootstrap table合并行數(shù)據(jù)并居中對(duì)齊效果
這篇文章主要為大家詳細(xì)介紹了bootstrap table合并行數(shù)據(jù)并居中對(duì)齊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10

