页面嵌入JavaScript脚本的URL“and”符号
在HTML页面中嵌入JavaScript脚本代码,如果代码内包含一些URL中的“and”符号(&),或者包含HTML元符号(用于输出结构的),如果不对javascript代码区进行注释声明处理,那么就不符合W3C标准当然也就不能通过w3c检测。
比如:
<script type="text/javascript">
var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&p=2';
</script>
是不可以的,但如果将 & 替换为 & 是可以通过w3c验证的,不过,由于javascript处理URL会将&认为是变量的间隔符,如果改为 & 那么实际上面的URL将会被处理为tag=xxx 和 amp;p=2。
这个时候可以使用注释声明:
<script type="text/javascript">
/* <![CDATA[ */
var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&p=2';
/* ]]> */
</script>
或者:
<script type="text/javascript">
//<![CDATA[
var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&p=2';
//]]>
</script>
都可以。
PS:事实上,我之前也有过“另类”的一种解决方法,对于HTML标签字符,我写到外部的js文件内;对于URL我就使用一个函数去构造,用起来也倒很方便,但现在看来有点弱智,呵呵。因为很早之前刚接触W3C的时候一味追求通过验证,根本没仔细研究过,为了标准而标准来着,这是很不好的一个方式……
标签:HTML, Javascript, W3C, 代码