3

最近,我看到了包装内联 JavaScript 的不同方式:


选项1:

<script type="text/javascript">//<![CDATA[
    ...
// ]]></script>

选项 2:

<script>
...
</script>

选项 3:

<script type="text/javascript"><!--
...
//--></script>

选项 4:以上任何一项的组合?


目前的标准是什么?

4

1 回答 1

2

HTML5

<script>
alert('Hello world.');
</script>

XHTML

<script type="text/javascript">
//<![CDATA[
alert('Hello world.');
//]]>
</script>

旧浏览器

<script language="javascript"><!--
alert('Hello world.');
//--></script>

XHTML 中的 CDATA 部分对于将文档解析为 XML 是必需的。

根据Douglas Crockford的说法,该language属性已被弃用,您可以改用该type属性。在 HTML 中,它是可选的。关于 HTML 注释标签,他有这样的说法:

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

因此,如果您正在为今天的网页开发脚本,您将使用 HTML5 方式。

于 2013-01-07T01:16:13.173 回答