【问题标题】:is <script><!--//--></script> useful anymore<script><!--//--></script> 有用了吗
【发布时间】:2011-03-23 22:35:29
【问题描述】:

我正在审查一些由海外开发商店为我们制作的 html。他们在其外部脚本加载标签中使用 cmets - 据我所知,这仅对过去将脚本呈现为文本的非常旧的 javascript 不了解的浏览器有用 - 是否有任何现代目的,或者现在完全多余?

<script type="text/javascript" src="path/to/file.js"><!--//--></script>  

提前致谢

//在下面的cmets之后更新:原来是cmets在内容管理系统中破解了一个问题,它将标签呈现为

<script type="text/javascript" src="path/to/" />

没有 cmets - 所以答案是它们在一般 Web 开发中不再有任何用途,但在某些特定情况下它们可能有用。感谢 Caspar Kleijne 指出这一点。

【问题讨论】:

  • 向后兼容或支持可能是.;)
  • 我没有任何来源可以引用,但答案是:不,它不再有用了。
  • 你的意思真的是整个标签吗?脚本标签是一个外部引用,里面有一个简单的空注释?
  • @Scott 是的,他们在头部有 13 个外部脚本的引用,每个都有这些 cmets。我认为 cmets 是多余的,但找不到可靠的来源来引用...

标签: javascript html


【解决方案1】:

不,它不再有用了。

在 Javascript 出现之前还存在浏览器时使用它。现在每个浏览器都知道 Javascript 的存在,即使它们不支持它。

如果有人仍然安装了这么古老的浏览器,那么您的页面看起来会非常糟糕,以至于没有任何区别。

【讨论】:

  • 同意,但请注意:我工作的公司使用的 CMS 将所有空标签重新解析为自结束标签。 :( 在那些特殊情况下,在标签中放置一个假人会很有用。
  • @Caspar Kleijne:这是一个很好的观点。这也可能是您会看到带有src 属性和内容的脚本标签的原因。
  • @Caspar - 你一针见血,结果证明文件存在问题是 cmets 存在的原因
【解决方案2】:

由于您是从外部文件中包含它,所以它应该没有任何用处。

【讨论】:

  • 另外,将内容放在具有 src 属性的标签中只会导致混淆。
【解决方案3】:

这始终取决于您的目标群体。您可以检查您网站的统计数据,看看是否有大量人使用一些旧的旧浏览器,然后再决定。你不太可能找到很多,如果有的话。

就我个人而言,我不会注释掉我的 JavaScript 代码。

但是在旁注中 - 使用 &lt;noscript&gt; 仍然很重要,在 ajax 驱动的网站时代可能比以往任何时候都重要。

【讨论】:

  • noscript 对于没有使用渐进增强的人来说是一种逃避
  • @David Dorward,这是什么意思?
  • 如果你做对了,那么你的页面可以在没有 JS 的情况下工作,在旧浏览器上使用 JS 效果更好,在新浏览器上使用 JS 效果更好。如果您使用的是 noscript,那么最好的情况是您没有很好地处理中间情况,更糟糕的是您使用它来告诉人们他们的浏览器配置错误(事实并非如此)。
  • 也许我没有很好地解释我的观点。服务器端应该总是有一个备份解决方案(不像愚蠢的 facebook)。但是使用 noscript 告诉没有 JS 的用户他可能缺少某些功能仍然是一件好事。
【解决方案4】:

这不是必须的,而且经常被忽略,尽管它可能是 XHTML 标准化的尝试,通常使用 CDATA。这个问题有更多信息:When is a CDATA section necessary within a script tag?

无论是用于 XHTML 还是用于旧版浏览器支持,它都不会损害任何东西,尽管它几乎肯定没有帮助。它可能有助于支持一些过时的浏览器,但如果您没有专门针对这些浏览器进行测试,那么您的网站无论如何都无法正常工作。除非您使用 XHTML,否则不要使用它。

【讨论】:

  • 它有点影响加载速度,尽管这几乎没有。
  • 这仅针对现代浏览器 IE7 及更高版本,但据我所知,这只会影响
  • @toomanyairmiles:IE 2 是 IE 的最后一个版本,用于 &lt;script&gt; 元素内的 HTML cmets 是必需的。 IE 3 于 1996 年发布,是第一个具有 JavaScript(实际上是 JScript)的 IE 版本。
猜你喜欢
  • 2012-03-21
  • 2018-01-27
  • 2012-08-24
  • 2019-12-12
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多