隐藏 JavaScript 不在旧浏览器中显示
Hiding JavaScript from displaying in old browsers
我正在尝试从书中学习 JavaScript。书的第一章说使用下面的格式来支持不支持JS的旧浏览器。它实际上做的很简单,它使用 HTML 注释标记来隐藏不支持 JS 的浏览器的脚本。我怀疑这段代码在所有浏览器中对我都适用,但在 Aptana Studio 3 中显示错误。现在我明白错误是由于 Aptana 将“<”视为关系运算符,但我该如何解决此错误?
<script>
<!--
//some JS code over here...
//-->
</script>
错误(语法错误:意外标记)出现在:
<!--
所有浏览器现在都支持 JS。这个技巧用于防止第一代浏览器将 JS 代码显示为纯文本。
你可能想看看 this 文章。
Do not use the <!-- //-->
hack with scripts. It was intended to prevent scripts from showing up as text on the first generation browsers Netscape 1 and Mosaic. It has not been necessary for many years. <!-- //-->
is supposed to signal an HTML comment. Comments should be ignored, not compiled and executed. Also, HTML comments are not to include --
, so a script that decrements has an HTML error.
编辑 1:
如果您仍想在 Aptana Studio 3 中使用此技巧,请也尝试评论第一部分:
<script>
//<--
Code Goes Here...
//--!>
</script>
我没有测试但是解决了aptana的错误
我知道这不会直接回答您的问题,但事实是根本不需要这样做。如果浏览器不知道如何解释 JavaScript,几乎所有浏览器都会忽略该代码。此外,由于 Matt Kruse 给出的以下原因,添加 <!-- // -->
也可能很危险:
- 在 XHTML 文档中,源实际上对所有浏览器都是隐藏的并且变得无用
- HTML 注释中不允许,因此脚本中的任何递减操作都是无效的
要获得更详细的解释,我建议您查看 this documentation about the best practices for JavaScript and this question,它解释了为什么在 JavaScript 中使用 HTML 注释是一种不好的做法。
如果出于某种原因您仍然希望在用户禁用 JavaScript 时向其显示内容(或者由于旧浏览器而无法 运行),请使用 <noscript>
标签
如果您真的对注释掉您的 JavaScript 感到厌烦,那么请改用此代码片段,它不会给您带来错误:
//<!--
//-->
如果您还有其他问题,请随时提问。
我正在尝试从书中学习 JavaScript。书的第一章说使用下面的格式来支持不支持JS的旧浏览器。它实际上做的很简单,它使用 HTML 注释标记来隐藏不支持 JS 的浏览器的脚本。我怀疑这段代码在所有浏览器中对我都适用,但在 Aptana Studio 3 中显示错误。现在我明白错误是由于 Aptana 将“<”视为关系运算符,但我该如何解决此错误?
<script>
<!--
//some JS code over here...
//-->
</script>
错误(语法错误:意外标记)出现在:
<!--
所有浏览器现在都支持 JS。这个技巧用于防止第一代浏览器将 JS 代码显示为纯文本。
你可能想看看 this 文章。
Do not use the
<!-- //-->
hack with scripts. It was intended to prevent scripts from showing up as text on the first generation browsers Netscape 1 and Mosaic. It has not been necessary for many years.<!-- //-->
is supposed to signal an HTML comment. Comments should be ignored, not compiled and executed. Also, HTML comments are not to include--
, so a script that decrements has an HTML error.
编辑 1: 如果您仍想在 Aptana Studio 3 中使用此技巧,请也尝试评论第一部分:
<script>
//<--
Code Goes Here...
//--!>
</script>
我没有测试但是解决了aptana的错误
我知道这不会直接回答您的问题,但事实是根本不需要这样做。如果浏览器不知道如何解释 JavaScript,几乎所有浏览器都会忽略该代码。此外,由于 Matt Kruse 给出的以下原因,添加 <!-- // -->
也可能很危险:
- 在 XHTML 文档中,源实际上对所有浏览器都是隐藏的并且变得无用
- HTML 注释中不允许,因此脚本中的任何递减操作都是无效的
要获得更详细的解释,我建议您查看 this documentation about the best practices for JavaScript and this question,它解释了为什么在 JavaScript 中使用 HTML 注释是一种不好的做法。
如果出于某种原因您仍然希望在用户禁用 JavaScript 时向其显示内容(或者由于旧浏览器而无法 运行),请使用 <noscript>
标签
如果您真的对注释掉您的 JavaScript 感到厌烦,那么请改用此代码片段,它不会给您带来错误:
//<!--
//-->
如果您还有其他问题,请随时提问。