JavaScript语法检查

时间:2013-01-11 19:08:41

标签: javascript jquery syntax

民间,

快速提问;有人可以检查这种语法是否合适?我通过firefox 1.7.3和ie8得到了关于这个的错误,并且在我的生活中无法得到它。

<script>window.jQuery || document.write('<script src="/js/jquery-1.7.1.min.js"><\/script>')</script>

3 个答案:

答案 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