我在我的网站上有这个代码
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"/>
<script type='text/javascript' src='/lib/player/swfobject.js'></script>
Run Code Online (Sandbox Code Playgroud)
swfobject没有工作(没有加载).
将代码更改为:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type='text/javascript' src='/lib/player/swfobject.js'></script>
Run Code Online (Sandbox Code Playgroud)
它工作正常.
该文档被解析为HTML5.
我觉得这很有趣.好的,授予一个已关闭的标签和一个自动关闭的标签不一样.所以我会理解jQuery是否无法加载(虽然我觉得它很荒谬).
但我不明白的是,jQuery加载,但以下,正确编写的标签,不?
Ars*_*nko 55
在HTML中,有些标签总是自动关闭的.例如,<hr>Some content here</hr>没有任何意义.同样,有些标签不能自动关闭.<script>标签就是其中之一.
我不确定没有自闭<script>标签的原因,但原因可能来自标签旨在始终包含内部代码的事实.再说一遍,我不确定.
Que*_*tin 25
因为它被解析为:
第1行:脚本的开始标记
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"/>
Run Code Online (Sandbox Code Playgroud)
第2行:如果第1行提到的外部脚本无法加载,则执行JavaScript(真正破解JavaScript!)
<script type='text/javascript' src='/lib/player/swfobject.js'>
Run Code Online (Sandbox Code Playgroud)
第3行:脚本的结束标记在第1行开始
</script>
Run Code Online (Sandbox Code Playgroud)
好的,授予一个已关闭的标签和一个自闭标签不一样.
它们是相同的(如果没有内容),但只在XML文档中.作为application/xhtml + xml的XHTML文档是XML文档.在HTML文档中,由于浏览器不正确实现的遗留问题,自动关闭标记只是一个开始标记(因此只有在禁止结束标记时才可以).
Chu*_*uck 21
David Dorward的回答从一个角度解释了这个问题,但是有一个更深层次的原因导致你无法做到这一点:
自闭语法是XML的一部分.在普通的HTML文档中,它没有任何意义.