您的位置:首页 > Web前端 > javascript > 正文

动态加载js脚本

更多 时间:2015-4-4 类别:Web前端 浏览量:1107

动态加载js脚本

动态加载js脚本

一、动态引入js文件
 

  •  
  • JScript 代码   复制
  • 
        var flag = true;
        if(flag){    
            loadScript('browserdetect.js');                    // 调用函数,引入路径;
        }
        function loadScript(url){
            var script = document.createElement('script');     // 创建script标签;
            script.type = 'text/javascript';                   // 设置type属性;
            script.src = url;                                  // 引入url;
            document.getElementsByTagName('head')[0].appendChild(script);    // 将script引入<head>中;
        }
    
    		
  •  

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

     

  •  
  • HTML 代码   复制
  • 
    <head>
        <title></title>
        <script type="text/javascript" id="yy" src=""></script>
        <script type="text/javascript">
            yy.src = "package.js";
        </script>
    </head>
    
    		
  •  

     

    三、动态执行js代码
     

  •  
  • JScript 代码   复制
  • 
        var script = document.createElement('script');
        script.type = 'text/javascript';
        var text = document.createTextNode("alert('Lee')");    // 设置script标签内容;IE会报错;
        script.appendChild(text);
        document.getElementsByTagName('head')[0].appendChild(script);
    
        // IE浏览器认为script是特殊元素,不能再访问子节点;
        // 为了兼容,可以使用text属性来代替;
        function loadScriptString(code){
            var script = document.createElement("script");
            script.type = "text/javascript";
            try{
            // IE浏览器认为script是特殊元素,不能再访问子节点;报错;
                script.appendChild(document.createTextNode(code));  // W3C方式;
            }catch(ex){
                script.text = code;                    // IE方式;
            }
            document.body.appendChild(script);
        }
        // 调用;
        loadScriptString("function sayHi(){alert('hi')}");
    
    		
  •  

     

    标签:动态加载