我有一个PHP应用程序,其中有一个div容器,其中包含来自URL字符串的$_GET
应用程序。
目前,有两个应用程序需要TinyMCE,一个应用程序需要jQuery和jQuery UI。
问题是,我应该在网页上包含哪些文件?
在标题中,页面加载速度非常慢,> 30秒(现在<10秒,使用不同的路由器),在底部,需要脚本的页面无法正确加载。
JS文件已经缩小并压缩。
由于安装了Zlib(由于GD),TinyMCE不会gZIP,所以我应该如何优化这种情况?
答案 0 :(得分:4)
答案 1 :(得分:2)
在底部并在文档完全加载时运行脚本(使用“onload”事件)。
答案 2 :(得分:1)
通过将JavaScript文件放在结束BODY标记之前,您可以在加载JavaScript文件时加载页面的其余部分。如果将其放在HEAD部分,页面将挂起,直到脚本加载。
如果加载标题需要30秒,您可能面临另一个问题。 TinyMCE不应该花30秒钟加载。
答案 3 :(得分:1)
对此可能没有一个正确答案。
通常将javascript放到<head>
下工作正常,但30秒太过分了。我正在开发一个JavaScript应用程序,可以动态加载大约70个未压缩的javascript文件(有些非常大)并且不需要花费大约30秒。
解决此问题的信息太少。
答案 4 :(得分:1)
它有多少个JS文件?如果它很多,那么你可能想看看史蒂夫·索德斯为更快的网站幻灯片。下载JS文件是一个阻止操作。 Souders有一个很好的解决方案来处理脚本阻塞。检查http://www.thebitsource.com/2009/03/14/sxsw-interactive-2009-steve-souders-on-even-faster-web-sites/
中的PPT另外,你从哪里服务JS?尝试从Google AJAX Libraries API提供jQuery。它使用他们的CDN和缓存很长一段时间。因此,用户只需要对文件进行一次扫描。
答案 5 :(得分:0)
我希望我的JS代码与XHTML完全分离,因此在主体结束标记不能为我做之前将其放在内联HTML中。
我在html头中声明了一个单独的JS文件。然后将所有Libraries等复制/粘贴到该JS文件中。这将导致一个HTTP请求,这也会加速移动浏览器的速度。
然后我使用Prototype来启动DOM敏感函数:
document.observe("dom:loaded", function) { // code goes here });