javascript动态加载JS文件(支持各种浏览器)

时间:2013-02-23 06:10:01  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:adding="1" cellspacing="1" style="background:#FB7">  代码如下 复制代码
  正文:文章收藏了各种各样的关于动态加载js(第二电脑网http://www.002pc.com)的方法 ,包括利用 jquery,异步ajax,常用的js(第二电脑网http://www.002pc.com)方法 等等参考。

1、直接document.write

 代码如下 复制代码
<script language="JavaScript">
    document.write("<script src='test.js(第二电脑网http://www.002pc.com)'></script>");
</script>

2、动态改变已有script的src属性

 代码如下 复制代码
<script src='' id="s1"></script>
<script language="javascript">
    s1.src="test.js(第二电脑网http://www.002pc.com)"
</script>


3、动态创建script元素

 代码如下 复制代码
<script>
    var oHead = document.getElementsByTagName('HEAD').item(0);
    var oScript= document.createElement("script");
    oScript.type = "text/javascript";
    oScript.src="test.js(第二电脑网http://www.002pc.com)";
    oHead.appendChild( oScript);
</script>

这三种方法都是异步执行的,也就是说,在加载这些脚本的同时,主页面的脚本继续运行,如果用以上的方法,那下面的代码将得不到预期的效果。
要动态加载的js(第二电脑网http://www.002pc.com)脚本:a.js(第二电脑网http://www.002pc.com),以下是该文件的内容。

 代码如下 复制代码
var str = "中国";
alert( "这是a.js(第二电脑网http://www.002pc.com)中的变量:" + str );

下面看参考实例

 代码如下 复制代码

function loadjs(第二电脑网http://www.002pc.com)(sid,js(第二电脑网http://www.002pc.com)url,callback){
        var nodeHead = document.getElementsByTagName('head')[0];
        var nodeScript = null;
        //不存在加载
        if(document.getElementById(sid) == null){
                nodeScript = document.createElement('script');
                nodeScript.setAttribute('type', 'text/javascript');
                nodeScript.setAttribute('src', js(第二电脑网http://www.002pc.com)url);
                nodeScript.setAttribute('id',sid);
                if (callback != null) {
                        nodeScript.onload = nodeScript.onreadystatechange = function(){
                                if (nodeScript.ready) {
                                        return false;
                                }
                                if (!nodeScript.readyState || nodeScript.readyState == "loaded" || nodeScript.readyState == 'complete') {
                                        nodeScript.ready = true;
                                        callback();
                                }
                        };
                }      
                nodeHead.appendChild(nodeScript);
        } else {
                if(callback != null){
                        callback();
                }      
        }      
}


"javascript动态加载JS文件(支持各种浏览器)"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/JavaScript/27080.html

 1/4    1 2 3 4 下一页 尾页


关于《javascript动态加载JS文件(支持各种浏览器)》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td