为什么我需要评论<script>HTML中的标签?

2022-01-18 00:00:00 comments tags javascript html

我见过的大多数例子都有一个 html 页面中的脚本被括起来

Most examples I've seen have scripts in a html page being enclosed by

<!--
...
-->

我试过不带注释标签来写它,似乎没有任何区别.为什么要使用评论标签,它的作用是什么?

I've tried writing it without the comment tags and there doesn't seem to be any difference. Why is the comment tag used and what function does it serve?

推荐答案

真的没必要了.这只是作为一种向后兼容的黑客手段——当脚本第一次开始插入静态 HTML 页面时,大多数浏览器都无法支持它们.如果没有注释,他们会忽略 <script> 标签的语义(他们不理解),然后将脚本源发送到页面上.

It's not really necessary any more. This has only ever served as a backwards-compatibility hack of sorts - when scripts first started being inserted into static HTML pages, most browsers couldn't support them. Without the comments, they would ignore the semantics of the <script> tag (which they didn't understand), and then would emit the script source onto the page.

具有讽刺意味的是,解决方案本身就是一个 hack - AFAIK,HTML 规范的任何部分都没有说脚本标签应该在注释内被解析.所有浏览器都选择了这一事实似乎比其他任何事情都更加巧合.当然,对于 XHTML,注释就是注释,因此完全兼容的浏览器将必须忽略您的脚本.

Ironically, the solution was a hack in itself - AFAIK, no part of the HTML spec says that script tags should be parsed when inside of comments. The fact that all browsers picked this up seems to be more of a coincidence than anything else. Certainly with XHTML, comments are comments so a fully conformant browser would have to ignore your scripts.

所以基本上,除非你想支持真的,真的旧浏览器(以破坏一些新浏览器为代价),否则不再需要这样做.

So basically, unless you want to support really, really old browsers (at the cost of breaking some new ones) it's no longer necessary to do this.

相关文章