html5 Boiler Plate:< \ / script>?

时间:2014-01-05 22:42:13

标签: javascript jquery html5

下面是一个简洁的代码片段,可以确保从CDN成功加载jQuery,或者它包含本地副本。

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

我明白了,但为什么script标记有两个\/,如此:<\/script>

是否有特殊原因使该方法适用于关闭标记的标准方法?

2 个答案:

答案 0 :(得分:6)

/之前的反斜杠确保<\/script>不会被解释为外部脚本的结束脚本标记。没有斜杠,它将被解析为:

<script>
window.jQuery || document.write('<script src="/js/vendor/jquery-1.10.2.min.js"></script>
')</script> <!-- where's the starting <script> ? -->

反斜杠用于转义字符串中的字符。 \/被视为/

(有关此主题的更多信息,请参阅WHATWG: 4.12.1.2 Restrictions for contents of script elements

答案 1 :(得分:1)

这是一个转义字符,因此\/等于/

如果未加载jQuery,则将最终脚本附加到文档中:

<script src="/js/vendor/jquery-1.10.2.min.js"></script>