如何在html页面动态加载js文件

会打杂的前端攻城狮 发布于 2013/05/16 16:17
阅读 17K+
收藏 3
<script type="text/javascript" src="init.js"></script>
        
        <!--script type="text/javascript" src="zh-cn.js"></script>
        

      <script type="text/javascript" src="en.js"></script-->

        <script type="text/javascript">

            function test($str){
                //alert($str);
                if($str=="CN"){
                    alert("CN");
                }else if($str=="EN"){
                    alert("EN");

            //document.writeln("<script type='text/javascript' src='en.js'/>");
            document.writeln("<script language='javascript' src='en.js' ></script>");   //用来动态控制js
                }
            }

         

        </script>

RT 最近在做一个国际化的的html页面

页面加载的时候判断系统语言 然后动态加载 js文件

但是怎么弄 js都没引入成功   求大神看看   急  


@红薯

加载中
0
铂金小鸟
铂金小鸟
<script> 
    var head = document.getElementsByTagName('head')[0]; 
    var script= document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src="en.js"; 
    head.appendChild(script); 
</script>
会打杂的前端攻城狮
会打杂的前端攻城狮
这个对了吧~~~= =
会打杂的前端攻城狮
会打杂的前端攻城狮
3Q~~~ 其实我是瞎猜 @ 你出来的- - 哈哈 感谢 铂金家族~
0
会打杂的前端攻城狮
会打杂的前端攻城狮

@虫子  @铂金小猪 @铂金小鸟 @ 铂金小鹰 @铂金...

求大神帮忙 

0
红星xx
红星xx

headjs

稍微 判断一下 ,在用 headjs 回调一个 js文件 用来执行。

会打杂的前端攻城狮
会打杂的前端攻城狮
??可以详细点么= =
0
铂金小猪
铂金小猪
可以看看js模块化设计相关的资料。
0
红星xx
红星xx
$.ready(function() {
   if(xxxx){
         head.js("/path/to/jquery.js", "/js/site.js", function() {
             //加载完成后回调 
         });
   }
});
红星xx
红星xx
只是个 意思 ,headjs 还有很多功能 ,你可以研究一下。
0
会打杂的前端攻城狮
会打杂的前端攻城狮

引用来自“铂金小鸟”的答案

<script> 
    var head = document.getElementsByTagName('head')[0]; 
    var script= document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src="en.js"; 
    head.appendChild(script); 
</script>
3Q
铂金小鸟
铂金小鸟
回复 @Say遗忘 : 哈哈,没事
会打杂的前端攻城狮
会打杂的前端攻城狮
回复 @铂金小鸟 : 。。。介个- - sorry。。。怎么弄滴= =
铂金小鸟
铂金小鸟
回复 @Say遗忘 : 额。好吧,你把自己评成最佳答案了。
会打杂的前端攻城狮
会打杂的前端攻城狮
我以为引用就好了=.=
铂金小鸟
铂金小鸟
嗯,写程序嘛,就是重复做很多事情。 可以了别忘了“最佳答案”哦,亲。
下一页
0
tsl0922
tsl0922
模块化加载JS文件,可以试试  SeaJS
0
sjunjun
sjunjun
        function loadJs (url, fn) {
            var script = document.createElement('script');
            script.type = 'text/javascript';
            //是否js文件
            var isJs = /(\.js)$/.exec(url);
            if (script.readyState) {
                script.onreadystatechange = function () {
                    if (script.readyState == 'loaded' || script.readyState == 'complete') {
                        script.onreadystatechange = null;
                        fn instanceof Function && fn.call();
                        !isJs && script.parentNode.removeChild(script);
                    }
                };
            }
            else {
                script.onload = function () {
                    fn instanceof Function && fn.call();
                    !isJs && script.parentNode.removeChild(script);
                };
            }
            script.src = encodeURI(url);
            document.getElementsByTagName('head')[0].appendChild(script);
        }
0
mark35
mark35

加载js的url带有的<script>标签会导致混乱的,应该转码

document.writeln("&lt;script src='en.js'>&lt;/script>");
把<写成 &lt; 才行


0
墨鱼ID
墨鱼ID
可以试试requireJS
返回顶部
顶部