-2

可能重复:
为什么自闭合脚本标签不起作用?

我最近在 Ubuntu 上安装了 LAMP 服务器。我很好奇的是以下内容。

文件 test.php 中的这段代码有效:

<html>
<head>
<script type='text/javascript'>
</script>
</head>
...

但是,此文件没有(仅</script>在代码中的下一个之后显示数据)

<html>
<head>
<script type='text/javascript'/>
</head>
...

为什么 PHP(或 HTML)在第二种情况下不承认结束标记?

4

4 回答 4

4

不承认是因为:

<script> 

需要关闭

</script> 

而不仅仅是标签内的 / 。一些 HTML 标签就是这样。

于 2012-11-28T00:45:23.817 回答
1

您没有正确关闭脚本标签。不同的浏览器可能对此有不同的解释。尤其如此,因为您使用的是 HTML5 文档类型。

如果您使用的是 XHTML 文档类型,那么跨浏览器的自关闭脚本标签会更好。

尽管跨浏览器兼容性的最佳方法是在任何文档类型中根本不使用自闭合脚本标签。

这与 PHP 完全无关。所以不知道为什么在你的标题中。PHP 将继续并按原样呈现您的源代码。

于 2012-11-28T00:46:33.163 回答
0

在第二种情况下,您在打开它的同时关闭了脚本标签:

<script type='text/javascript'/>

我在上面强调了它。如果您查看您提供的第一段代码,您会看到一个脚本标签打开,一个关闭标签是正确的

于 2012-11-28T00:47:49.150 回答
0

正如这个答案中更详细的解释:https ://stackoverflow.com/a/206409/476786 所有html标签都是有效的自闭合标签xhtml,即application/xhtml+xml。在普通的旧 html 中,text/html由服务器和浏览器来解释标签,从而导致实现不一致。

于 2012-11-28T00:48:28.953 回答