最近,我看到了包装内联 JavaScript 的不同方式:
选项1:
<script type="text/javascript">//<![CDATA[
...
// ]]></script>
选项 2:
<script>
...
</script>
选项 3:
<script type="text/javascript"><!--
...
//--></script>
选项 4:以上任何一项的组合?
目前的标准是什么?
最近,我看到了包装内联 JavaScript 的不同方式:
选项1:
<script type="text/javascript">//<![CDATA[
...
// ]]></script>
选项 2:
<script>
...
</script>
选项 3:
<script type="text/javascript"><!--
...
//--></script>
选项 4:以上任何一项的组合?
目前的标准是什么?
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 方式。