隐藏JavaScript在旧浏览器中显示

时间:2015-07-08 03:27:02

标签: javascript aptana3

我正在尝试从一本书中学习JavaScript。本书的第一章说使用以下格式来支持不支持JS的旧浏览器。它实际上做的很简单,它使用HTML注释标记来隐藏不支持JS的浏览器的脚本。我怀疑这个代码在所有浏览器中都适合我,但在Aptana Studio 3中显示错误。现在我明白错误是由于Aptana考虑“<”作为关系运算符,但如何解决此错误?

<script>
    <!--
        //some JS code over here...
    //-->
</script>

出现错误(语法错误:意外令牌):

<!--

2 个答案:

答案 0 :(得分:1)

我知道这不能直接回答你的问题,但事实是这根本不需要做。如果浏览器不知道如何解释JavaScript,几乎所有浏览器都会忽略代码。此外,由Matt Kruse给出的以下原因添加<!-- // -->也可能是危险的:

  • 在XHTML文档中,源实际上将从所有浏览器中隐藏并呈现无用的
  • HTML注释中不允许这样做,因此脚本中的任何减量操作都是无效的

有关更详细的说明,建议您查看this documentation有关JavaScript的最佳做法和this question,了解为什么在JavaScript中使用HTML注释是不好的做法。

如果出于某种原因,如果用户禁用了JavaScript(或因旧版浏览器而无法运行),您仍希望向用户显示内容,请使用<noscript>代码

如果你真的对评论你的JavaScript感到厌烦,那么请使用这段代码,而不应该给你错误:

//<!--

//-->

如果您有任何其他问题,请随时提出。

答案 1 :(得分:-1)

现在每个浏览器都支持JS。这个技巧用于防止第一代浏览器将JS代码显示为纯文本。

您可能需要查看Enterprise Site List文章。

  

不要将<!-- //--> hack与脚本一起使用。它旨在防止脚本在第一代浏览器Netscape 1和Mosaic上显示为文本。多年来一直没有必要。 <!-- //-->应该表示HTML评论。注释应该被忽略,而不是编译和执行。此外,HTML注释不包括--,因此递减的脚本会出现HTML错误。

编辑1: 如果您仍想在Aptana Studio 3中使用此技巧,请尝试评论第一部分:

<script>
    //<--
    Code Goes Here...
    //--!>
</script>

我没有测试但是解决了aptana中的错误