首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><script></script>还是<script />?

<script></script>还是<script />?
EN

Stack Overflow用户
提问于 2011-05-11 06:02:18
回答 5查看 755关注 0票数 14

可能重复:

Why don't self-closing script tags work?

我刚刚发现了HTML中脚本标记的怪异行为。

我的web服务器是nginx,我使用了快速的CGI和PHP5。我有一个page.html,它看起来像这样:

代码语言:javascript
复制
<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脚本标记。但是,如果我将脚本块更改为:

代码语言:javascript
复制
    <script type="text/javascript" src="./my/javascript1.js"></script>
    <script type="text/javascript" src="./my/javascript2.js"></script>

一切都恢复正常了。注意到标签是如何关闭的吗?是啊,所以我才来这里问你。有什么关系?它们应该具有相同的功能/意义。此外,我的web浏览器(Chrome/IE9)收到的输出HTML是相同的,但为什么要区别对待呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-11 06:09:53

脚本标记需要一个单独的结束标记才能成为有效代码。请参阅http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

有些浏览器将接受自结束标记,而其他浏览器则不会接受,而您正在使用的HTML版本也会影响结果。除非使用XHTML,否则不存在自结束标记。

通过PHP引擎传递文件不应更改结果,但可能会尝试更正不正确的脚本标记。您应该查看浏览器中的源,以查看标签是否已更改。

票数 8
EN

Stack Overflow用户

发布于 2011-05-11 06:08:51

script标记需要有一个结束标记,即使它使用了src属性。避免它会导致不想要的行为。

票数 4
EN

Stack Overflow用户

发布于 2011-05-11 06:50:40

浏览器解释HTML的方式与PHP无关,因为它不是HTML解析器。一些浏览器接受它。其他人不..。还可以检查这个link。有关同一主题的更多问答

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5959919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档