麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

javascript中動態加載js文件多種解決辦法總結

2019-11-20 21:41:01
字體:
來源:轉載
供稿:網友

一個比較全部在動態加方法

復制代碼 代碼如下:

/*
    動態加載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(); //這里參數可以指定默認要加載的js文件

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

復制代碼 代碼如下:

<script language="javascript">

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

</script>

給script加個id再去動態改變已有script的src 屬性

復制代碼 代碼如下:

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

<script language="javascript">

    s1.src="test.js"

</script>

這里利用getElementsByTagName('HEAD')動態創建 script元素

復制代碼 代碼如下:

<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>

還可以這樣嘗試一下,自定一個函數

復制代碼 代碼如下:

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

調用方法,這樣看上去就你php的include函數了
復制代碼 代碼如下:

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 動態加載js這里我就不介紹了,上面的方法足夠讓你實現動態加載js了.

所以在采用這類方法動態加載Js 的同時,主界面的Js腳本是繼續執行的,所以可能出現通過異步加載的Js代碼得不到預期的效果的情況。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 92看片淫黄大片一级 | 色婷婷久久一区二区 | 7m视频成人精品分类 | 美国黄色毛片女人性生活片 | 久久久久久久久久久久久九 | 一级大黄毛片 | 嗯~啊~用力~高h | 欧美视频一级 | 91九色网址 | 一级黄色免费观看 | 91久久综合| 成人三级电影网址 | 加勒比色综合 | 中文字幕天堂在线 | 日韩在线毛片 | 国产91精品久久久久久久 | 日本高清黄色片 | av国产片 | 日日草夜夜操 | 欧美日韩国产综合网 | 天堂成人国产精品一区 | 欧美一级黄视频 | 免费毛片视频 | 成人做爰s片免费看网站 | 黄污网站在线观看 | 精品亚洲午夜久久久久91 | 国产成人精品免高潮在线观看 | 日韩黄色免费在线观看 | 成人精品aaaa网站 | 久久精品9 | 成人做爰高潮片免费视频美国 | 久久国产精品久久久久 | 欧美大逼网 | 久久久成人精品视频 | 国产亚洲综合一区二区 | 日韩av电影免费在线观看 | 欧美在线观看禁18 | 国产精品久久久久久久久岛 | 综合激情网 | 久久精品久久精品国产大片 | 免费一级在线观看 |