伙计们,
快速提问;有人可以检查这种语法是否正确吗?我通过 firefox 1.7.3 和 ie8 遇到了关于此问题的错误,我终生无法得到它。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>
伙计们,
快速提问;有人可以检查这种语法是否正确吗?我通过 firefox 1.7.3 和 ie8 遇到了关于此问题的错误,我终生无法得到它。
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>
你不需要/
在你document.write
的初学者中转义(\
失败是因为它不能识别\/
为有效的转义序列)。
但是,当您删除它时,</script>
会出现这会使 XML 解析器失败。(<script>...</script>
是解析器正在寻找的;它不关心它是否在(我们所看到的)字符串中)因此,引入了连接:</scr'+'ipt>
.
总之,我们有:
<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></scr'+'ipt>');</script>
当解析器遇到第一个</script>
它结束脚本标签。所以这个修复应该有效:
<script>
window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"></sc'+'ript>');
</script>
我可以建议一种不同的动态脚本加载方法。例如:
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'helper.js';
//append script somewhere on the dom