日期:2014-05-16  浏览次数:20420 次

对这个JQ动态加载JS方法的使用有个小疑惑,求解疑
在网上看到这个JQ动态加载JS的代码

/*动态加载*/
$.extend({
    includePath: '',
    include: function (file) {
        var files = typeof file == "string" ? [file] : file;
        for (var i = 0; i < files.length; i++) {
            var name = files[i].replace(/^\s|\s$/g, "");
            var att = name.split('.');
            var ext = att[att.length - 1].toLowerCase();
            var isCSS = ext == "css";
            var tag = isCSS ? "link" : "script";
            var attr = isCSS ? " type='text/css' rel='stylesheet' " : " language='javascript' type='text/javascript' ";
            var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'";
            if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + "></" + tag + ">");
        }
    }
});


/*调用*/
$.includePath = 'Scripts/WorkSpace/';
$.include(['GetVehicleGroup.js']);


以下是作者补充的内容:
加载后立即使用Js文件中的方法
,因为是动态加载的。考虑到网络原因。立即使用JS文件中的方法会报错。不过可以使用下边代码

function _GetVehicleGroup() {   
    if ("undefined" == typeof (GetVehicleGroupIsOk)) {
        setTimeout("_GetVehicleGroup()", 200);
        return;
    }
    //动态加载JS文件中的方法
    GetVehicleGroup();
}
注:要在要加载的JS文件里加上一个标记,如:
var GetVehicleGroupIsOk = "enable";



我的问题 
1)var GetVehicleGroupIsOk = "enable"; 是写在每个需要加载的JS的文件中?
2)_GetVehicleGroup() 这个方法的使用不太明白,求讲解


------解决方案--------------------
引用:
_GetVehicleGroup() 这个方法是写在主页面 还是 被动态加载的JS文件里面?

写在主页面

原理就是  判断加在的js文件里面构建的对象是否存在  
如果不存在 则证明没有加载
 setTimeout("_GetVehicleGroup()", 200);  200毫秒后继续调用

这样的问题是 一般我们应该用 js