这真是令人生气。我正在尝试优化一个非常大的站点,而我正在减少HTTP请求。微软没有合作。我包含以下ScriptResources。我会尝试抓住每个人的顶线来区分他们
加油! 12血腥javascript包括!不到一个KILOBYTE!获得dang数据的时间有一半可能是花在寻求它上面! ARGHHH!
无论如何,正如你所看到的,我很生气。有什么方法可以推动它们并将它们结合起来吗?喜欢进入一个请求?
答案 0 :(得分:5)
只需替换
<asp:ScriptManager ... />
与<ajaxToolkit:ToolkitScriptManager> ... />
在您的ASPX页面中,你就是 完成了!
答案 1 :(得分:3)
您可以编写一个HTTPModule来从响应中获取所有axd / js文件,将它们合并为一个,然后通过对HTTPHandler的请求将它们发送到客户端的浏览器。
您可以查看Mads Kristensen's网站,了解我在说什么。对于像你这样的问题,有很多文章/解决方法。
答案 2 :(得分:1)
检查一下:
Fast ASP.NET web page loading by downloading multiple javascripts in batch
另外,一个常见的错误是在我看过的一些网站中设置<compilation debug=”true”/>
。根据{{3}},
当设置<compilation debug=”false”/>
时,WebResource.axd处理程序将自动为通过它检索的资源设置长缓存策略 - 这样资源只下载一次到客户端并永久缓存在那里(它也将缓存在任何中间代理服务器上。
答案 3 :(得分:0)
问题是如何最小化对服务器的整体请求....
个人而言,我认为这不是问题,如果这些js文件加载ONCE。 因为它们应该由客户端缓存。也许你想调查,为什么这不会发生。 其次,ScriptManager中有一个标签,用于限制你的js文件.... 也许你想查看CompositeScript标签......另外,我建议查看LoadScriptsBevoreUI属性并将其设置为false。然后你的内容被加载到javascripts。
答案 4 :(得分:0)
在ToolkitScriptManager中使用CombineScripts = true