首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Js停止脚本标记在条件下运行

Js停止脚本标记在条件下运行
EN

Stack Overflow用户
提问于 2015-07-19 13:09:41
回答 2查看 404关注 0票数 0

我希望我的index.html页面中的一些脚本只在条件下运行。例如,在特定版本的IOS上,我希望general.js之后的脚本不要运行。

代码语言:javascript
复制
 <script src="general.js"></script>

 // stop here on condition
 <script src="vendor/jquery/dist/jquery.js"></script>
 <script src="vendor/angularjs/angular.js"></script>
 <script src="vendor/angular-sanitize/angular-sanitize.js"></script>
 <script src="vendor/angular-ui-select/dist/select.js"></script>

我该怎么做?

EN

回答 2

Stack Overflow用户

发布于 2015-07-19 13:16:24

RequireJS?

你为什么不用像RequireJS这样的东西呢?让您的主引导脚本( general.js)加载依赖于您的条件的所有其他脚本。

票数 2
EN

Stack Overflow用户

发布于 2015-07-19 13:14:23

你不能这么做。相反,像通常一样插入第一个general.js脚本,并在head中放置一个添加文件的script

代码语言:javascript
复制
<script>
    var scripts = ['vendor/jquery/dist/jquery.js', 'vendor/angularjs/angular.js', 
 'vendor/angular-sanitize/angular-sanitize.js', 'vendor/angular-ui-select/dist/select.js'];
    if(condition) {
        for(i=0;i<scripts.length;i++) {
            $('head').append("<script src='"+scripts[i]+"'></script>");
        }
    }
</script>

或者是香草的JS:

代码语言:javascript
复制
<script>
    var scripts = ['vendor/jquery/dist/jquery.js', 'vendor/angularjs/angular.js', 
 'vendor/angular-sanitize/angular-sanitize.js', 'vendor/angular-ui-select/dist/select.js'];
    if(condition) {
        for(i=0;i<scripts.length;i++) {
            script=document.createElement('script');
            script.src=scripts[i];
            document.getElementsByTagName('head')[0].appendChild(script);
        }
    }
</script>

这将创建一个新脚本目录和名称的数组,并遍历它们,动态地将它们添加到文档的头部。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31501560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档