可能重复:
Why don't self-closing script tags work?
我刚刚发现了HTML中脚本标记的怪异行为。
我的web服务器是nginx,我使用了快速的CGI和PHP5。我有一个page.html,它看起来像这样:
<html>
<body>
<!-- <?php echo 'i am going to add php code here'; ?> -->
<script type="text/javascript" src="./my/javascript1.js" />
<script type="text/javascript" src="./my/javascript2.js" />
</body>
</html>如果此页面是直接从web服务器提供的,则java脚本运行良好。但是,如果它传递给PHP5,似乎只执行第一个java脚本标记。但是,如果我将脚本块更改为:
<script type="text/javascript" src="./my/javascript1.js"></script>
<script type="text/javascript" src="./my/javascript2.js"></script>一切都恢复正常了。注意到标签是如何关闭的吗?是啊,所以我才来这里问你。有什么关系?它们应该具有相同的功能/意义。此外,我的web浏览器(Chrome/IE9)收到的输出HTML是相同的,但为什么要区别对待呢?
发布于 2011-05-11 06:09:53
脚本标记需要一个单独的结束标记才能成为有效代码。请参阅http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1
有些浏览器将接受自结束标记,而其他浏览器则不会接受,而您正在使用的HTML版本也会影响结果。除非使用XHTML,否则不存在自结束标记。
通过PHP引擎传递文件不应更改结果,但可能会尝试更正不正确的脚本标记。您应该查看浏览器中的源,以查看标签是否已更改。
发布于 2011-05-11 06:08:51
script标记需要有一个结束标记,即使它使用了src属性。避免它会导致不想要的行为。
发布于 2011-05-11 06:50:40
浏览器解释HTML的方式与PHP无关,因为它不是HTML解析器。一些浏览器接受它。其他人不..。还可以检查这个link。有关同一主题的更多问答
https://stackoverflow.com/questions/5959919
复制相似问题