一个比较全部在动态加方法
复制代码 代码如下:
/*
动态加载js v1.0 by:dum
用法:src="/UploadFiles/2021-04-02/webJsBase.js?load=a,b"> 注:加载本目录下js
*/
var webJsBase = {
require: function(libraryName) {
document.write('<script type="text/javascript" src="/UploadFiles/2021-04-02/'+libraryName+'"> },
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="/UploadFiles/2021-04-02/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="/UploadFiles/2021-04-02/test.js">
oHead.appendChild( oScript);
</script>
还可以这样尝试一下,自定一个函数
复制代码 代码如下:
function include(src) {
HTMLCode = '<script language="javascript" src="/UploadFiles/2021-04-02/' + src + '">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的方法。
javascript,动态加载
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?