我希望我的index.html页面中的一些脚本只在条件下运行。例如,在特定版本的IOS上,我希望general.js之后的脚本不要运行。
<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>我该怎么做?
发布于 2015-07-19 13:16:24
RequireJS?
你为什么不用像RequireJS这样的东西呢?让您的主引导脚本( general.js)加载依赖于您的条件的所有其他脚本。
发布于 2015-07-19 13:14:23
你不能这么做。相反,像通常一样插入第一个general.js脚本,并在head中放置一个添加文件的script:
<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:
<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>这将创建一个新脚本目录和名称的数组,并遍历它们,动态地将它们添加到文档的头部。
https://stackoverflow.com/questions/31501560
复制相似问题