3.1. 内部引用JavaScript
目录
通过HTML的script标签加载JavaScript代码
示例
<head><scripttype="text/javascript">document.write("dreamdu!");</script></head>
通过注释隐藏JavaScript代码
示例
<head><scripttype="text/javascript"><!-- document.write("dreamdu!");//--></script></head>
<!-- ... //-->当浏览器不支持JavaScript时,屏蔽JavaScript代码。
这个代码是骇客技术,<!-- ... -->属于HTML注释,// 是JavaScript注释。当浏览器支持JavaScript时//代码生效,因此HTML的注释没有效果;当浏览器不支持JavaScript时,//代码无效,因此屏蔽了<!-- ... -->之间的JavaScript代码。
现在这种隐藏JavaScript代码的方式可以忽略,因为没有浏览器不支持JavaScript,除了部分用户手动禁止浏览器的JavaScript功能,但是这种情况很少发生。
在XHTML文档中使用CDATA避免解析HTML实体
CDATA将在XML教程中详细介绍。这里简单介绍一下,使用CDATA囊括的内容中的HTML实体将不被翻译。
没有使用CDATA
<scripttype="text/javascript">document.write(6<5); document.write(dreamdu>5);</script>
显示6<5 与 dreamdu>5,在XHTML文件中必须使用<与>表示小于<与大于>
使用CDATA
<scripttype="text/javascript"><![CDATA[ document.write(6>5); document.write(dreamdu<5); ]]></script>
使用CDATA后可以直接使用小于<与大于>等HTML实体。
当代码中有HTML实体时,不使用CDATA会使代码复杂(因为HTML实体通常很复杂,不直观),容易产生错误,其次代码的可读性较差。
屏蔽CDATA
<scripttype="text/javascript">//<![CDATA[ document.write(6>5); document.write(dreamdu>5); //]]></script>
当浏览器不支持CDATA时可以使用JavaScript注释屏蔽CDATA。
从上面描述可以看书使用CDATA还是比较麻烦的,最好的方法是不用。怎么能不用CDATA呢?我们可以通过外部引用加载JavaScript文件的方式避免使用XHTML中的CDATA。
使用noscript标签为用户提供更好的体验
通过JavaScript注释的方式可以隐藏JavaScript代码,通过noscript标签可以为用户提供更好的体验(提示用户你的浏览器不支持JavaScript)
示例
<body><scripttype="text/javascript">document.write("梦之都网络教程!");</script><noscript><p>如果您想查看梦之都教程,则必须启用JavaScript。然而,JavaScript 似乎被禁用, 要么就是您的浏览器不支持 JavaScript。请更改您的浏览器选项以启用 JavaScript,然后点击<ahref="http://www.dreamdu.com/">重试</a>。要查看梦之都最基本的HTML网页(不需要 JavaScript),<ahref="http://www.dreamdu.com/xhtml/">请单击此处</a></p></noscript></body>
通过上面的方式可以为用户提供更好的体验。