首页 / 脚本样式 / jQuery / ajax+jquery框架下瘦身方案
ajax+jquery框架下瘦身方案2011-01-30 博客园 文刀无尽用过ajax.net 的朋友都知道,使用该框架,发布版本会生成超过80K的脚本文件。而debug版更大。如果应用的场景用于企业内网,这个问题不会显现出来,而如果场景是互联网,那问题就大了。而我非常不幸,选用了,ajax+jquery+互联网应用场景。问题:1.可以通过修改:<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release">,将scriptMode设置为release 还有配置web.config 中结点<compilation debug="true" > 将 debug 设置为false可以将生成WebResource.js在80K左右。但也依然很大。2.jquery.js+ui.js加起来就有200K以上,这个是比较恐怖的事情。解决方案:1.由于我在整个项目中只用到了从服务器端读取ascx生成的html脚本,现在我计划舍弃ajax框架,采用javascript 直接访问wcf的方式来访问服务器端。也许有人问,为什么不用webservice?原来我打算用的webservice,但后来碰到一个奇怪的问题,要求登录。而我的webservice是是放在web server里的,访问页面却不需要登录。在给该目录所有权限,等等很多尝试无果后,决定采用wcf.2.经过1的改造,虽然大幅缩小了WebResource.js,但jquery.js+ui.js超过200K的大小不能小视。最先打算采用gzip的方式在IIS里压缩的方式来解决。但经过测试,效果不明显。后来决定用异步加载资源的方式。页面和资源并行下载。而不是串行下载。但使用这个办法,还有一个问题,因为,如果采用异步下载的话,比如:A.js,B.js两个文件,如果B.js有地方用到A.js中的函数,那么,由于是异步下载那就会碰到在B.js中执行A.js函数,而A.js却还没有加载完全的情况。唯一的解决办法,只能是让它们顺序下载。而怎么样让它们顺序下载呢?