代码之家  ›  专栏  ›  技术社区  ›  niaher

将javascript包装在<!---->

  •  15
  • niaher  · 技术社区  · 15 年前

    把JavaScript代码包装在 <!-- --> ?

    6 回复  |  直到 15 年前
        1
  •  23
  •   womp    15 年前

    这是我的一个宠物尿。这是一种古老的开发实践,用于“保护”不理解的旧浏览器 <script> 标签。如果没有它,他们可能无法加载页面或将脚本内容显示为HTML内容。

    但我们在谈 古代的 这里的浏览器。唯一未能解析javascript的浏览器是1995年的时代浏览器。这些浏览器现在根本不用。这个实践只是90年代网络开发的一个延续。

    任何人都不应该 <!-- --> 再阻止他们的脚本标记内容。

    如果您看到开发人员仍在这样做,请纠正他们。从Netscape 1.0开始,不解析javascript就不是问题,而且 this practice is actually considered harmful 对于现代浏览器。

        2
  •  7
  •   Mark Rushakoff    15 年前

    通过将javascript代码包装在HTML注释中,可以防止不支持javascript的旧浏览器将代码视为HTML。

        3
  •  1
  •   Community CDub    8 年前

    检查

    does javascript code need to start with "<!-- "?

    现在您不需要包装JS代码 <!-- -->

        4
  •  1
  •   Álvaro González    15 年前

    它可以防止不知道 <script> 标记或不正确地处理它,因为它试图将JavaScript代码解析或显示为HTML。

    人们普遍认为,为了找到一个不知道 <脚本& GT; 标签。然而,我自己的站点经常被实现非常初级的解析器的工具所占用(为什么不呢?你可以用10行PHP编写一个抓取器。我还发现在从网站粘贴到桌面应用程序(应该接受剪贴板中的HTML)后,javascript代码出现在文档中间。因此,在HTML注释中转义非HTML内容并不像看起来那么愚蠢。

        5
  •  0
  •   William    15 年前

    不理解javascript的旧浏览器只会看到一个HTML注释。

        6
  •  0
  •   Kees Kist    15 年前

    除了某些浏览器可能不支持它,还有另一个原因:W3CXHTML验证器( http://validator.w3.org )将不在注释标记中的javascript解释为HTML。因此,类似“i<0”的内容意味着除非您使用这些标签,否则您的网站将无法验证。