windowslive站点源码里的学问

最近注意到windowslive.com,ViewSource了一下,发现代码很规范很漂亮哦~没有ViewState这样的丑陋代码,js和css也很少。但是css和js很奇怪哟~

code
<link href="/styles.ashx?k=265562125&amp;c=True&amp;v=9.07.20" rel="stylesheet" type="text/css"  />

注意到这个css的地址,是一个ashx文件,这是一个http handler,根据传进去的k值,返回对应的css代码,c是compressed的首字母,代表是否压缩(这个试一下就知道了)。

在大概一个多月前,我看到的k值可不是这样的,而是一个个用逗号分开的值,像这样:styles.ashx?k=8412,3243,4524,9453&amp;c=true。可能现在已经把这样的feature组合取了一个新的值,那就是现在看到的265562125。

同样,在这个页面里的js也是这样做的:

code
<script type="text/javascript" src="/scripts.ashx?k=96052175&amp;c=True&amp;v=9.07.20"></script>

把c改成false,download下来看一下,发现首先是带注释的jQuery源代码:

image

并以/* start ~/Content/scripts/jquery-1.3.2.js*/开头,/* end ~/Content/scripts/jquery-1.3.2.js */结束,紧接着是jqmodule插件:

image

接着还有其他的插件,以及其他的一些操作的 js code。全部combine在一起,并且压缩好,真是一个不错的做法,减少了页面请求次数,加快了页面load速度,也就增加了用户体验:-)。

通过分析这个网站的代码,可以得出两个结论:

  1. 微软已经越来越喜欢使用jQuery了,并且可以使用相关的一些插件。
  2. script.ashx?k=265562125这样的方法很值得借鉴哦~~。

另外我也稍微看了一下www.microsoft.com/expression,发现已经开始使用Dean EdwardsIE7.js了:

 image

微软逐渐意识到一些开源项目是多么优秀了。不过说来也很可笑,微软自己出的IE浏览器,最终却需要第三方的一个js来使不同版本的IE表现一致……有点可笑啊~~

顺便再赞一下Dean Edwards,其实前文中已经提到过。真是个厉害的家伙。

posted @ 2009-07-27 01:18  Scott Xu //南方小鬼  阅读(503)  评论(0编辑  收藏  举报