[英]Load External JavaScript File
我正在嘗試從javascript中加載外部javascript文件,但似乎無法正常工作。 難道我做錯了什么?
我的工作樣本文件
function loadJs() {
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js")
document.body.appendChild(fileref); }
也許您正在嘗試在jQuery API完全加載之前訪問它。 您可以像這樣向loadJs函數添加一個回調參數:
function loadJs(src, callback) {
var s = document.createElement('script');
document.getElementsByTagName('head')[0].appendChild(s);
s.onload = function() {
//callback if existent.
if (typeof callback == "function") callback();
callback = null;
}
s.onreadystatechange = function() {
if (s.readyState == 4 || s.readyState == "complete") {
if (typeof callback == "function") callback();
callback = null; // Wipe callback, to prevent multiple calls.
}
}
s.src = src;
}
loadJs('https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', function() {
$('body').append('<p>It works!</p>');
});
在FF,chrome8中測試。 小提琴: http : //jsfiddle.net/Umwbx/2/
使用類似於以下代碼:
function loadJs() {
var s = document.createElement('script');
var c = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
c.parentNode.insertBefore(s, c);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.