javascript 将标签 <script> 与 if 和 else 一起使用

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/16372380/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 04:22:01  来源:igfitidea点击:

use tags <script> with if and else

javascriptjqueryhtml

提问by Lê Huy

I have some script tag like this:

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

<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>

This is my app i wrote using phonegap for android but i want to use code in web. And i dont use all for web page.

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

Have any way to do it like using if else like this in html:

有什么办法可以像在 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>
}

I am a dumper, please help me. Thanks for reading!!!

我是渣男,请帮帮我。谢谢阅读!!!

Edit:

编辑:

if i want to change my script tag:

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

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

Become like this:

变成这样:

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

Have anyway to make a variable like:

无论如何都要创建一个变量,例如:

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

And then use in tag like this:

然后像这样在标签中使用:

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

采纳答案by pala?н

For the first part. you can do this:

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

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>')
}

To change the script tag, do this:

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

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

回答by Chamika Sandamal

How about this,

这个怎么样,

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");
}

回答by Abdennour TOUMI

Using jquery template :

使用 jquery 模板:

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

Your template :

演示http: //jsfiddle.net/abdennour/R36Qc/3/

你的模板:

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

Your javascript code :

您的 javascript 代码:

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

The branching (if) is done on array of String (src of js) :

分支(如果)是在字符串数组(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"}  ]

}

See : https://stackoverflow.com/a/5462679/747579

见:https: //stackoverflow.com/a/5462679/747579

To check result , open browser inspector : check

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

回答by Prinzhorn

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

In this case document.writeis a valid option. The script tags are blocking anyway.

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

回答by Thomas Boel Sigurdsson

You can include script files dynamically using JavaScript. See an example here: Load jQuery with Javascript and use jQuery

您可以使用 JavaScript 动态包含脚本文件。在此处查看示例: 使用 Javascript 加载 jQuery 并使用 jQuery

回答by Mangiucugna

You could make a script to create all the scripts node like:

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

<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>

回答by A. Wolff

You could use pure javascript like that:

你可以像这样使用纯 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>