页面嵌入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>

是不可以的,但如果将 & 替换为 &amp; 是可以通过w3c验证的,不过,由于javascript处理URL会将&认为是变量的间隔符,如果改为 &amp; 那么实际上面的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, 代码

评论当前被关闭。

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号-1  津公网安备 12010302001005号