Send head before body to load CSS and JS asap
我想知道是否有人找到了一种方法在渲染头部标记的过程中发送,以便在页面渲染完成之前加载css和javascript?我们的页面需要大约523毫秒的时间来呈现,直到收到页面后才加载资源。我已经做了很多PHP,可以在脚本结束之前刷新缓冲区。我试过在母版页
如果我找不到解决方案,我想我必须走反向代理路由,在页面内容发生变化时找到一种使代理缓存失效的方法。
不要在代码后放置flush,而是将其放在HTML页面上,如下所示:
1 2 3 | </head> <%Response.Flush();%> <body > |
这可能会在页面上产生类似逃跑效应的效果,因此您可以尝试将刷新移到页面更低一点。
也可以在雅虎提示页面上提前刷新缓冲区http://developer.yahoo.com/performance/rules.html
静态缓存此外,还可以在静态内容(如CSS和JavaScript)上添加客户端缓存。在此页面中,所有IIS版本都可以使用所有方法。
http://www.iis.net/configrereference/system.webserver/staticcontent/clientcache
跟进我建议你在看到你的页面后再做一件事,就是把所有的css和javascript放在一个文件中。也可以使用最小化来最小化它们。
我使用这个小型化的http://www.asp.net/ajaxlibrary/download.ashx,结果非常好,实时小型化。
考虑使用内容交付网络(cdn)承载图像、CSS和JS文件。浏览器对每个域都有8或4个连接限制,因此一旦使用了这些限制,浏览器就必须等待释放资源。
通过在cdn上托管一些文件,您可以同时使用另一组连接,从而可以更快地加载所有内容。
如果还没有在服务器上启用gzip,也可以考虑在服务器上启用gzip。这会动态压缩文件,从而产生较小的传输。
加载文档后,可以执行淡入或显示。只需设置身体显示:无;
您可以使用jquery在加载JS后立即执行它。
1 2 3 | $.fn.ready(function(){ //Your code here }) |
或者您可以只使用独立的ready函数->$(document.ready),不使用jquery就相当于