有時候我們需要動態的加入適合的js,因為有時候不需要將所有的js都載入進來,以來提高效率,但這種方法比較適合單個js檔案比較大的情況
如果js檔案都比較小,還是乙個js好,這樣可以減少連線數。下面是4種比較常用的方法,大家可以根據情況選擇,最後指令碼之家 將會給推薦乙個。
1、直接document.write
複製**
**如下:
2、動態改變已有script的src屬性
複製**
**如下:
3、動態建立script元素
複製**
**如下:
這三種方法都是非同步執行的,也就是說,在載入這些指令碼的同時,主頁面的指令碼繼續執行,如果用以上的方法,那下面的**將得不到預期的效果。
要動態載入的js指令碼:a.js,以下是該檔案的內容
複製**
**如下:
var str = "中國";
alert( "這是a.js中的變數:" + str );
主頁面**:
複製**
**如下:
上述**執行後 a.js 的 alert 執行並彈出訊息,
但是 主頁面產生了錯誤,沒有彈出對話方塊。原因是 'str' 未定義,為什麼呢?因為主頁面在取 str 的時候 a.js 並沒有完全載入成功。遇到需要同步執行指令碼的時候,可以用下面的第四種方法。
4、原理:用xmlhttp取得要指令碼的內容,再建立 script 物件。
注意:a.js必須用utf8編碼儲存,要不會出錯。因為伺服器與xml使用utf8編碼傳送資料。
主頁面**:
複製**
**如下:
現在完成了乙個js指令碼的動態載入。
複製**
**如下:
var rash=true;
var msg="";
function norash()
function ra****()
function getrss()
} ra****();
注意文字加粗的地方,大家可以情況選擇。
動態載入JS指令碼的4種方法
要實現動態載入js指令碼有4種方法 1 直接document.write 2 動態改變已有script的src屬性 3 動態建立script元素 這三種方法都是非同步執行的,也就是說,在載入這些指令碼的同時,主頁面的指令碼繼續執行,如果用以上的方法,那下面的 將得不到預期的效果。要動態載入的js指令...
動態載入JS指令碼的4種方法
要實現動態載入js指令碼有4種方法 1 直接document.write 2 動態改變已有script的src屬性 3 動態建立script元素 這三種方法都是非同步執行的,也就是說,在載入這些指令碼的同時,主頁面的指令碼繼續執行,如果用以上的方法,那下面的 將得不到預期的效果。要動態載入的js指令...
動態載入JS指令碼的4種方法
要實現動態載入js指令碼有4種方法 1 直接document.write 2 動態改變已有script的src屬性 3 動態建立script元素 這三種方法都是非同步執行的,也就是說,在載入這些指令碼的同時,主頁面的指令碼繼續執行,如果用以上的方法,那下面的 將得不到預期的效果。要動態載入的js指令...