Javascript 使用getElementsByTagName运行包含document.write的脚本
我有一个脚本要放在使用document.writeln的页面上 乙二醇 当我实现这样的代码时Javascript 使用getElementsByTagName运行包含document.write的脚本,javascript,responsive-design,append,Javascript,Responsive Design,Append,我有一个脚本要放在使用document.writeln的页面上 乙二醇 当我实现这样的代码时 <script src="http://www.example.com/js/script_v1.js"></script> 没问题 但是,我正在做一个reposnive模板,因此根据屏幕宽度,我希望运行不同版本的文件 如果我尝试像下面那样实现它,它会出现在头部,但似乎没有运行代码 <script type="text/javascript">
<script src="http://www.example.com/js/script_v1.js"></script>
没问题
但是,我正在做一个reposnive模板,因此根据屏幕宽度,我希望运行不同版本的文件
如果我尝试像下面那样实现它,它会出现在头部,但似乎没有运行代码
<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>
如果(aaa){
myvar=2;
}
否则{
myvar=1;
}
loader=document.createElement('script');
loader.src=”http://www.example.com/js/script_v“+myvar+”.js”;
document.getElementsByTagName('head')[0].appendChild(加载器);
有没有办法做到这一点?您的脚本将异步加载,因此您不能使用write()或writeln(),因为文档已关闭。加载同步,以便:
document.write("<script src='http://www.example.com/js/script_v" + myvar + ".js'></script>");
document.write(“”);
但是,这不是一个好的做法,请尽量避免使用书写方法。是否定义了aaa?这应该行得通 在控制台中查看是否有任何错误 如果你拉起控制台,你会看到
GET http://www.example.com/js/script_v2.js 404 (Not Found)
此外,您可能希望以这种方式创建脚本元素(取决于doctype)
是,脚本加载,但不执行document.write
GET http://www.example.com/js/script_v2.js 404 (Not Found)
var fileref = document.createElement('script')
fileref.setAttribute('type', 'text/javascript')
fileref.setAttribute('src', filename)