JavaScript代码规范与XML语法
一个网页在进行W3C标准验证的时候,必须遵循XML文档规范。
<html></html>标签内部只能有<head>和<body>两个标签,多了其它任何标签都是不规范的。
因此<script>标签只能写在<head>里或者<body>里。
当<script>标签引入的是外部js代码,那么它是符合XML规范的,如:
<script type=”text/javascript” src=”xxx.js”></script>
当<script>标签内部书写代码时,则不符合规范,如:
<script type=”text/javascript”>alert(“这不规范”);</script>
解决方案:让其既符合规范,又能够顺利执行!
1、
<script type=”text/javascript”>
//<!–
alert(“这里符合规范”);
//–>
</script>
一般来说,浏览器的JavaScript引擎会忽略”<!–”和”–>”并且不会报错,XML解析器也会把它当作注释,因此代码可以顺利执行,也能够通过标准检测。
如果实在担心有些浏览器不识别 “<!–”和”–>” ,则在这两行前面加上”//”把它当作注释。
注意:如果用XML的注释方法,在js代码里面不能有–形式的代码(如i–),否则会出错。
2、
<script type=”text/javascript”>
//<![CDATA[
alert("这里也符合规范");
//]]>
</script>
<![CDATA[]]>是XML的规范,用来定义文本内容,这里可疑通过XML解析器的验证,但是JavaScript解析引擎又无法识别,这时加上”//”注释即可。