浏览器对网址中的&与&amp解释时间各不同

浏览器对网址中的&与&amp解释时间各不同

 
0
198

突然想起这个主题没有通过W3C的验证,于是今晚再次准备在解决一些问题,力争通过W3C验证。

可是在cnzz统计中的JS代码中由于有一个“&”,在验证时得到一警告,我的统计代码如下(注:为防止浏览器解释&amp,全部去掉了“;”)

1
<script src="http://s16.cnzz.com/stat.php?id=2380487&web_id=2380487" language="JavaScript"></script>

给的提示时:

1
2
错误的写法:<a href="http://www.domain.com/cgi?x=123&y=456">
正确的写法:<a href="http://www.domain.com/cgi?x=123&amp;y=456">

ALL SPECIAL CHARACTERS IN THE HREF ATTRIBUTE SHOULD BE ENCODED. “&” IS A RESERVED CHARACTER BEGINNING AN ENTITY. (EX:  ). AMPERSANDS IN HREF FIELD SHOULD BE ENCODED AS THE EQUIVALENT ENTITY “&AMP”, EVEN WHEN USED AS A SEPARATOR FOR PARAMETERS IN THE URL. ALSO KEEP IN MIND THAT NAMED ENTITY REFERENCES ARE CASE-SENSITIVE; &AELIG; AND Æ ARE DIFFERENT CHARACTERS.

IF THIS ERROR APPEARS IN SOME MARKUP GENERATED BY PHP’S SESSION HANDLING CODE, THIS ARTICLE HAS EXPLANATIONS AND SOLUTIONS TO YOUR PROBLEM.

之后我在统计代码中将“&”改为“&amp”,问题又出现了,发现JS的加载时间过长,尤其是加载到94%的时候要卡好几秒。所以就在本地的XAMPP上测试&amp是否对浏览器解释有影响。

测试的浏览器为Firefox4.0,主题中去除了所有的JS,仅保留了cnzz的统计代码,如图:

当统计中代码中的网址为&时,刷新浏览器3次,载入时间分别是:2.297,2.105,1.878。此时的错误为:54errors1warning如图:

当统计中代码中的网址为&amp时,刷新浏览器3次,载入时间分别是:2.325,2.278,2.338。此时的错误为:52errors0warning如图:

所以我认为Firefox对于网址中的&amp的解释时间长于&,所以在网址中用&还是比较好。大家不妨测试下IE9和Opera,Safari等浏览器如何。

也许你认为这几秒的时间只要有带宽保证就行,但我写此文的目的确定&amp比&的解释时间长。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值