民间,
快速提问;有人可以检查这种语法是否合适?我通过firefox 1.7.3和ie8得到了关于这个的错误,并且在我的生活中无法得到它。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>
答案 0 :(得分:3)
您不需要在/
中为document.write
转义\
,因此\/
失败,因为它无法将</script>
识别为有效的转义序列
但是,当您删除时会出现<script>...</script>
,这会导致XML解析器失败。 (</scr'+'ipt>
是解析器正在寻找的东西;它不关心它是否在(我们看到的)字符串内部)因此,引入了连接:<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></scr'+'ipt>');</script>
。
总而言之,我们有:
{{1}}
答案 1 :(得分:2)
当解析器遇到第一个</script>
时,它会结束脚本标记。所以这个修复工作应该有效:
<script>
window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></sc'+'ript>');
</script>
答案 2 :(得分:1)
我可以为动态脚本加载建议一种不同的方法。例如:
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'helper.js';
//append script somewhere on the dom