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

来源:互联网 发布:mac彩妆明星产品 编辑:程序博客网 时间:2024/06/14 18:00

浏览器对网址中的&与&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>

给的提示时:

12
错误的写法:<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比&的解释时间长。


0 0