评论内联javascript

时间:2015-05-20 09:03:49

标签: javascript html

我有一个工作在旧的Web应用程序上的快乐任务。在几个html文件中,内联javascript使用以下语法:

<body>

html goes here...

    <script>
    <!--
        javascript goes here
    -->
    </script>
</body>

(编辑:脚本标签在体内)

请注意包含整个javascript代码的html注释。这并没有真正做任何事情,因为所有浏览器都忽略脚本标签内的html注释。我的问题很简单:为什么过去的开发人员会这样做?这是某种优化还是跨浏览器问题,可以通过html评论“hack”修复?

我暂时删除了评论,一切看起来都很正常。

3 个答案:

答案 0 :(得分:2)

假设您的<script>元素主体内而不是之后,这是一个解决方案,让非常老的浏览器不知道什么是{{1元素忽略其内容而不是显示它(浏览器应该将文本显示为他们不理解的标记内容)。

这个黑客应该很快就会消失,因为很难找到浏览器不知道<script>元素是什么,但不幸的是,由于一些不好的教程仍然建议这样的结构,这种不良做法不会死得太快甚至最近。

请注意,正文和头部之外的脚本元素无效。

答案 1 :(得分:2)

javascript (1995)的古代,像Netscape 1.0这样的浏览器对脚本标记没有任何支持或了解。因此,当javascript首次发布时,需要一种技术来隐藏旧浏览器中的代码,以便它们不会在页面中将其显示为文本。 'hack'是在脚本块中使用HTML注释来隐藏代码。有关详细说明,请查看 this link

source

答案 2 :(得分:1)

  

内联HTML注释是为了防止没有的旧版浏览器   了解脚本元素在plain中显示脚本代码   文本。

     

不了解script元素的旧浏览器会   将上面脚本元素的整个内容解释为一个单独的内容   HTML评论,以&#34;&#34;开头,有效   完全忽略脚本。

     

如果HTML评论不存在,那么整个脚本就是   这些浏览器以纯文本形式显示给用户

Source