1. 程式人生 > >如何判斷指令碼載入完成

如何判斷指令碼載入完成

在“按需載入”的需求中,我們經常會判斷當指令碼載入完成時,返回一個回撥函式,那如何去判斷指令碼的載入完成呢?

我們可以對載入的 JS 物件使用 onload 來判斷(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 瀏覽器都能很好的支援,但 IE6、IE7 卻不支援。曲線救國 —— IE6、IE7 我們可以使用 js.onreadystatechange 來跟蹤每個狀態變化的情況(一般為 loading 、loaded、interactive、complete),當返回狀態為 loaded 或 complete 時,則表示載入完成,返回回撥函式。

對於 readyState 狀態需要一個補充說明:

  1. 在 interactive 狀態下,使用者可以參與互動。
  2. Opera 其實也支援 js.onreadystatechange,但他的狀態和 IE 的有很大差別。

具體實現程式碼如下:

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(!/*@[email protected]*/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');}}}returnfalse;}//execution function
include_js
('http://www.planabc.net/wp-includes/js/jquery/jquery.js');

相關推薦

如何判斷指令碼載入完成

在“按需載入”的需求中,我們經常會判斷當指令碼載入完成時,返回一個回撥函式,那如何去判斷指令碼的載入完成呢? 我們可以對載入的 JS 物件使用 onload 來判斷(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 瀏

判斷webview載入完成

專案中appbarlayout中包含webview,需求是載入完成後直接跳轉的評論處,頂部懸停; 當沒有webview時,在載入完成後呼叫appbar.setExpanded(false)沒有問題; 當含有webview顯示時,由於webview載入的原因,開始是appbar關閉,載入完成後

mfc webbrowser判斷網頁載入完成

mfc 的webbrowser是大家使用非常多的一種檢視操作網頁的一種控制元件,在使用中,判斷網頁什麼時候載入完成就顯得非常重要了。下面介紹我採用的一種方法,這種方法可以判斷網頁內部即使有frame網頁也是可以判斷成功。 在對話方塊裡新增一個webbrowser控制元件,在對話方塊的初始化函

如何準確判斷 WebView 載入完成

原文 正常情況下我們把處理網頁載入完畢的程式碼放在 - (void)webViewDidFinishLoad:(UIWebView *)webView裡。但 WebViewDidFinishLoad 時網頁真的載入完了嗎? 官方文件並沒有說明 WebViewDidFi

解決webview多次載入,無法準確判斷頁面載入完成的問題

package com.brian; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.drawable.GradientDrawable.Orienta

判斷 iframe 載入完成 獲取其內容

var oFrm = document.getElementById(id); src=$(id).attr("src"); oFrm.onload = oFrm.onreadystatechange = function () { if (this.readyState &

動態載入js並且判斷是否載入完成

<script> function include_js(file) {     var _doc = document.getElementsByTagName('head')[0];     var js = document.createElement

vb.net 網頁載入完成判斷

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load         WebBrowser1.ScriptErrorsSuppressed = True '網頁

用 document.readyState == "complete" 判斷頁面是否載入完成

function MyLoading(falg) {             var loading = "<div id='dlading' style='position:absolute;left:0;width:100%;height:100%;top:0;b

原生JS判斷頁面中圖片載入完成

自己寫的判斷頁面中圖片載入完成的方法,用原生JS完成,不用jq主要考慮在不載入jq的情況下,程式碼可以正常執行 判斷指定ID的盒子中所有圖片載入,demo程式碼如下: <!DOCTYPE HTML> <html> <head> &l

判斷多個動態新增的js檔案是否載入完成

let script1 = document.createElement('script'); script1.type = 'text/javascript'; script1.src = 'js/md5.js'; document.getEl

用js判斷頁面是否載入完成

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <t

Delphi中WebBrowser判斷頁面及JS ajax是否載入完成-轉

在一個程式中需要判斷WebBrowser開啟的頁面是否載入完成,通常的做完是使用Busy屬性,程式碼如下: while WebBrowser1.Busy do Application.ProcessMessages; 對於多框架: procedure TForm1.WebBrowser1Na

判斷圖片是否載入完成的三種方式

有時需要獲取圖片的尺寸,這需要在圖片載入完成以後才可以。有三種方式實現,下面一一介紹。 一、load事件 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8">

js中動態載入js並且判斷載入完成執行回撥函式

這一段js雖然很少,但是足以知道什麼是動態載入js了,像requirejs,seajs其實原理也就是這樣,下面發出自己寫的函式 <span style="font-size:18px;colo

判斷等標籤src 或href內容是否載入完成

這個內容很簡單隻需要判斷標籤的onload和onreadystatechange事件即可 <!DOCTYPE html> <html> <head> <

判斷jQuery 是否載入完成完成繼續判斷 解決方案

一個比較頭疼的事情,有些外掛繫結dom物件的,然後又用jq的語法,比如你在vue+node的時候,基本就要百度方法 我提供一個另類解決方案  比如你下了個輪播圖外掛   a,js 你開啟他的a.js然後  用  function lbt(){} 把整個JS包起來在頭部 再

js判斷頁面載入是否完成

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style&

判斷 iframe 是否載入完成的完美方法

 一般來說,我們判斷 iframe 是否載入完成其實與判斷 JavaScript 檔案是否載入完成採用的方法很類似: var iframe = document.createElement("iframe"); iframe.src ="http://www.plan

js中常用方法以及document.readyState 判斷頁面是否載入完成 complete和interactive

傳回XML 檔案資料的目前狀況。   基本語法 intState = xmlDocument.readyState;   說 明 這個屬性是隻讀的,傳回值有以下的可能: 0-UNINITIALIZED:XML 物件被產生,但沒有任何檔案被載入。 1-LOADING:載入程式進行中,但檔案尚未開始解析。 2-