</script>
HTML 解析器将 Javascript 字符串的内部解释为结束标记,从而导致意外行为(参见 JSFiddle 上的示例)。
为避免这种情况,您可以将 javascript 放在注释之间(这种编码风格是常见的做法,当时浏览器对 Javascript 的支持很差)。这会起作用(参见 JSFiddle 中的示例):
<script type="text/javascript">
<!--
if (jQuery === undefined) {
document.write('<script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></script>');
}
// -->
</script>
...但说实话,使用document.write
不是我认为的最佳实践。为什么不直接操作DOM呢?
<script type="text/javascript">
<!--
if (jQuery === undefined) {
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js');
document.body.appendChild(script);
}
// -->
</script>