最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中動(dòng)態(tài)加載js文件多種解決辦法總結(jié)

 更新時(shí)間:2013年11月15日 16:18:04   作者:  
這篇文章主要介紹了javascript中動(dòng)態(tài)加載js文件多種解決辦法,有需要的朋友可以參考一下

一個(gè)比較全部在動(dòng)態(tài)加方法

復(fù)制代碼 代碼如下:

/*
    動(dòng)態(tài)加載js v1.0 by:dum
    用法:src="webJsBase.js?load=a,b"
    注:加載本目錄下js
*/
var webJsBase = {
    require: function(libraryName) {
        document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
    },
    load: function(defaultLoad) {
        if((typeof Prototype=='undefined')||(typeof Element == 'undefined')||(typeof Element.Methods=='undefined'))
        throw ('prototype lib 加載失??!');
        if(typeof defaultLoad=='undefined')defaultLoad='';
        var js = /webJsBase.js(?.*)?$/;
        $$('head script[src]').findAll(function(s) {
            return s.src.match(js);
        }).each(function(s) {
            var path = s.src.replace(js, '');
            var includes = s.src.match(/?.*load=([a-zA-Z0-9_,]*)/);
            (includes ? includes[1] : defaultLoad).split(',').each(function(include) {
                webJsBase.require(path + include + '.js');
            });
        });
    }
};
webJsBase.load(); //這里參數(shù)可以指定默認(rèn)要加載的js文件

這是最簡單的方法在加載完后再利用直接document.write 如下圖。

復(fù)制代碼 代碼如下:

<script language="javascript">

    document.write("<script src='test.js'></script>");

</script>

給script加個(gè)id再去動(dòng)態(tài)改變已有script的src 屬性

復(fù)制代碼 代碼如下:

<script src='' id="s1"></script>

<script language="javascript">

    s1.src="test.js"

</script>

這里利用getElementsByTagName('HEAD')動(dòng)態(tài)創(chuàng)建 script元素

復(fù)制代碼 代碼如下:

<script>

    var oHead = document.getElementsByTagName('HEAD').item(0);

    var oScript= document.createElement("script");

    oScript.type = "text/javascript";

    oScript.src="test.js";

    oHead.appendChild( oScript);

</script>

還可以這樣嘗試一下,自定一個(gè)函數(shù)

復(fù)制代碼 代碼如下:

function include(src) {
HTMLCode = '<script language="javascript" src="' + src + '"></script>';
document.write(HTMLCode);
}

調(diào)用方法,這樣看上去就你php的include函數(shù)了
復(fù)制代碼 代碼如下:

include(baseDir + "/Prototype.js");
include(baseDir + "/Map.js");
include(baseDir + "/MapEvent.js");

include(baseDir + "/model/MapModel.js");
include(baseDir + "/model/MapType.js");
include(baseDir + "/model/Tile.js");

還有朋友說可以使用ExtJs4 動(dòng)態(tài)加載js這里我就不介紹了,上面的方法足夠讓你實(shí)現(xiàn)動(dòng)態(tài)加載js了.

所以在采用這類方法動(dòng)態(tài)加載Js 的同時(shí),主界面的Js腳本是繼續(xù)執(zhí)行的,所以可能出現(xiàn)通過異步加載的Js代碼得不到預(yù)期的效果的情況。

這時(shí)候可以考慮采用Ajax加載Js的方法。

相關(guān)文章

最新評論

台安县| 砀山县| 文水县| 南丹县| 城市| 北宁市| 泾源县| 常宁市| 郯城县| 无极县| 双峰县| 鄂托克前旗| 吴桥县| 宁乡县| 威宁| 溧水县| 自贡市| 霸州市| 赣榆县| 蓝山县| 太白县| 芜湖县| 临朐县| 阳山县| 衡山县| 仙桃市| 宜兰县| 大城县| 志丹县| 呼伦贝尔市| 岢岚县| 宝清县| 罗源县| 深圳市| 从化市| 南昌县| 新密市| 英山县| 宜兰市| 大英县| 徐闻县|