使用带有if和else </script>的标签<script>

时间:2013-05-04 08:45:00

标签: javascript jquery html

我有一些像这样的脚本标签:

<script src="cordova-2.5.0.js"></script>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.mobile-1.1.1.min.js"></script>
<script src="js/jquery.xdomainajax.js"></script>
<script src="js/xml2json.js"></script>
<script src="js/ZipPlugin.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
<script src="js/prefixfree.min.js"></script>

这是我使用phonegap for android编写的应用程序,但我想在网络中使用代码。我不会全部用于网页。

有什么办法可以像在html中使用if else一样:

if(anything) {
    <script src="cordova-2.5.0.js"></script>
    <script src="js/jquery-1.7.2.min.js"></script>
    <script src="js/jquery.mobile-1.1.1.min.js"></script>
    <script src="js/jquery.xdomainajax.js"></script>
    <script src="js/xml2json.js"></script>

    <script src="js/prefixfree.min.js"></script>
} else {
    <script src="js/ZipPlugin.js"></script>
    <script src="js/jquery-ui.min.js"></script>
    <script src="js/jquery.ui.touch-punch.min.js"></script>
}

我是自卸车,请帮帮我。 谢谢阅读!!!

修改

如果我想更改我的脚本标记:

<script src="js/prefixfree.min.js"></script>

变成这样:

<script src="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/js/prefixfree.min.js"></script>

无论如何要做一个变量:

var key ="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/"

然后在标签中使用:

<script src = "key + 'js/prefixfree.min.js'"></script> 

7 个答案:

答案 0 :(得分:3)

第一部分。你可以这样做:

if (anything) {
    $('head').append('<script src="cordova-2.5.0.js"></script>')
        .append('<script src="js/jquery-1.7.2.min.js"></script>')
        .append('<script src="js/jquery.mobile-1.1.1.min.js"></script>')
        .append('<script src="js/jquery.xdomainajax.js"></script>')
        .append('<script src="js/xml2json.js"></script>')    
        .append('<script src="js/prefixfree.min.js"></script>')
} else {
    $('head').append('<script src="js/ZipPlugin.js"></script>')
        .append('<script src="js/jquery-ui.min.js"></script>')
        .append('<script src="js/jquery.ui.touch-punch.min.js"></script>')
}

要更改脚本标记,请执行以下操作:

var key ="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/"
$('script[src="js/prefixfree.min.js"]').attr('src', key + 'js/prefixfree.min.js');

答案 1 :(得分:3)

这个怎么样,

function registerScript(scriptPath) {
    var scriptTag = document.createElement('script');
    scriptTag.type = 'text/javascript';
    scriptTag.async = true;
    scriptTag.src = scriptPath;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(scriptTag, s);
}

if (anything) {
    registerScript("cordova-2.5.0.js");
}

答案 2 :(得分:2)

使用jquery模板:

DEMO http://jsfiddle.net/abdennour/R36Qc/3/

你的模板:

<script id="myscripts" type="text/x-jquery-tmpl">
   <script src="${myurl}" type="text/javascript">
    {{html "</sc"+"ript>"}}
</script>

您的javascript代码:

 $('#myscripts').tmpl(myarray).prependTo('head')

分支(if)在String数组(js的src)上完成:

var myarray=[]
if (anything) {
   myarray=[{myurl:"cordova-2.5.0.js"},
{myurl:"js/jquery-1.7.2.min.js"},
{myurl:"js/jquery.mobile-1.1.1.min.js"},
  {myurl:"js/jquery.xdomainajax.js"},
 {myurl:"js/xml2json.js"},
  {myurl:"js/prefixfree.min.js"},
  {myurl:"js/jquery.mobile-1.1.1.min.js"}

 ]

} else {
     myarray=[{myurl:"js/ZipPlugin.js"},
              {myurl:"js/jquery-ui.min.js"},
              {myurl:"js/jquery.ui.touch-punch.min.js"}  ]

}

请参阅:https://stackoverflow.com/a/5462679/747579

要检查结果,请打开浏览器检查器: check

答案 3 :(得分:0)

您可以创建一个脚本来创建所有脚本节点,如:

<script>
var head= document.getElementsByTagName('head')[0];
var key = '';
if(anything) key = 'http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/';
var scripts = new Array()
scripts[0] = 'js/prefixfree.min.js';
scripts[1] = 'js/foo.js';
for(var s in scripts) {
   var script= document.createElement('script');
   script.type= 'text/javascript';
   script.src= key + s;
   head.appendChild(script);
}
</script>

答案 4 :(得分:0)

您可以使用这样的纯JavaScript:

<script>
   var key ="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/",
       file=document.createElement('script');
   file.type = "text/javascript";
   file.src = key + 'js/prefixfree.min.js';
   document.getElementsByTagName("head")[0].appendChild(file);
</script>

答案 5 :(得分:0)

<script>
if(foo) {
    document.write('<script src="a.js"><\/script>');
} else {
    document.write('<script src="b.js"><\/script>');
}
</script>

在这种情况下,document.write是有效选项。无论如何,脚本标签都是阻塞的。

答案 6 :(得分:0)

您可以使用JavaScript动态包含脚本文件。在这里查看示例: Load jQuery with Javascript and use jQuery