我有一个脚本,我想在我的页面上使用document.writeln。
例如
document.writeln('myjs');
当我实现像这样的代码时
<script src="http://www.example.com/js/script_v1.js"></script>
没有问题。
但是我正在做一个重复模板,所以根据屏幕宽度,我想运行不同版本的文件。
如果我尝试像下面那样实现它它出现在头部但似乎没有运行代码?
<script type="text/javascript">
if(aaa) {
myvar=2;
}
else {
myvar=1;
}
loader = document.createElement('script');
loader.src = "http://www.example.com/js/script_v" + myvar + ".js";
document.getElementsByTagName('head')[0].appendChild(loader);
</script>
有办法做到这一点吗?
答案 0 :(得分:1)
您的脚本将被异步加载,因此您无法使用write()或writeln(),因为文档已关闭。加载它同步,所以:
document.write("<script src='http://www.example.com/js/script_v" + myvar + ".js'></script>");
然而,这不是一个好习惯,尽量避免编写方法。
答案 1 :(得分:0)
是否定义了aaa?这应该有用。
查看您的控制台,看看是否有任何错误。
http://codepen.io/granttimmerman/pen/vErnG
如果你拉起控制台,你会看到
GET http://www.example.com/js/script_v2.js 404 (Not Found)
此外,您可能希望以这种方式创建脚本元素(取决于您的doctype)。
var fileref = document.createElement('script')
fileref.setAttribute('type', 'text/javascript')
fileref.setAttribute('src', filename)