2007年5月27日星期日

Live Spaces 与K-Meleon打架?

4月以来,我发现我用K-Meleon浏览器无法直接进入Windows Live Space了。我得到了一个如下提示:

XML Parsing Error?怎么Spaces主页是XML来着?奇怪了。怎么可能是XML?我用IE和Win下的Firefox,没一点问题。一看源代码,显然不是XML而是HTML。
不过在页面的最下方,我看到:


<script type="text/javascript">//<![CDATA[ if(null==window["Live"]) window["Live"] = new Object(); Live.Footer = new Object(); Live.Footer.Custom = "";Live.Footer.Custom+='&#160;<li dir="ltr" class="sep">|</li>&#160;<li><a target="_new" id="footerCustom1" href="http://support.live.com/default.aspx?productKey=wlspacesabuse">Report Abuse</a></li>';Live.Footer.Custom+='&#160;<li dir="ltr" class="sep">|</li>&#160;<li><a target="_new" id="footerCustom2" href="http://yksoft1.spaces.live.com/feed.rss">Subscribe to RSS feed</a></li>';Live.Header.rf(); //]]></script>


Object?这好像是IE专用的对象吧。。我在一边打开了Firefox,看是否也能找到这段代码。结果找了半天,没找到。再翻回网页头部,赫然发现:


<html xmlns:spaces xmlns:Web class="ClientFramework Firefox" web:culture="zh-CN">

Firefox 用户框架?看来M$是死不愿意自己的站完全符合W3C,做了个双重标准。但是就算是IE专用的代码,也不至于被浏览器弄成XML吧?一看包头:Content-Type: application/xhtml+xml
难怪了。。。。
xhtml+xml,IE6SP2/IE7支持的标准。放到任何版本的Gecko里都是不会支持的。但是为什么对于明显是Gecko引擎的
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.7) Gecko/20060917 K-Meleon/1.02
M$的服务器竟然认不出来?怪了。。。
尝试改useragent为Firefox 1.5的
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
这下居然返回了
Content-Type: text/html,也返回了ClientFramework Firefox。正常了。

看来M$在对User-agent的处理上,有些不对,只看Firefox而不看Gecko.....
这不知是Spaces的那些工程师们懒惰(很少用IE以外的浏览器),还是微软故意为之?另外Safari上上Spaces也存在相当多的兼容问题,KDE的Konqueror上去返回也是IE的xhtml+xml,唉。。。微软还是原来那微软。搞多重标准,兼容都只是“被迫”。

没有评论:

发表评论