我知道正确的延迟加载通常需要使用对象和代理模式。我还没有,因为一个网站需要重新设计。但是,有什么方法可以将数据缓存到页面并加快加载时间?从程序的PHP页面上的数据库中“延迟加载”信息
1
A
回答
2
这可以通过AJAX来实现。
当你第一次加载一个页面时,把重量级应该去的地方持有人。例如,使用带有独特风格的div
以及内部的动画加载图像,以便游客可以清楚地知道还有更多的加载正在进行。您可以在ajaxload.info上生成熟悉的AJAX加载图像。
在页面底部有一些脚本调用或绑定必要的函数以使用AJAX加载附加内容。例如,您可以将AJAX调用绑定到jQuery的.ready()
,以便在文档的其余部分准备就绪时开始加载,或者在用户滚动某个元素时开始加载(例如,在您的页面上分离某些“地标”内容块)。
当收到包含附加内容(以字符串形式优选预格式化为HTML)使用.innerHTML =
或AJAX响应jQuery的.html()
替换占位符div
内容的AJAX响应。如有必要,使用setAttribute("class","newClass")
或jQuery的.attr("class","value")
更改div
的样式以替换其CSS类。
访客将能够看到您的整个页面,并在加载过程中滚动浏览它。额外的内容将在准备就绪时显示,而不会中断访问者的浏览体验。通过在内容注入之后为动画制作过渡,您可以使其更加美观。
如果您需要关于如何使用AJAX来获取内容的一些额外的例子异步看看these为经典的JavaScript方法或jQuery .ajax() docs。
2
只要加载主页面,就可以使用JavaScript开始加载额外的数据。通过这种方式,您的主页可以简单介绍页面上的组件,呈现“spinners”指示正在加载更多数据,然后将其卸载到JavaScript以获取更多数据。
我不明白如何使用JS和呈现“微调”可以卸载数据库的负载和做延迟加载,詹姆斯问。 – 2011-05-12 19:07:10
嗯,我最初认为使用js的建议,至少给人的印象是网页加载速度更快(一个不知情的用户几乎不会注意到)。如果任何人有使用Ajax/jQuery来实现这一点的链接,那么请分享。现在,如果实际上有可能错开抓取(也可以用ajax),那么我也会感兴趣。 – 2011-05-12 19:13:41
你所能做的就是给人印象_页面加载速度更快。 – Lawyerson 2011-05-12 19:15:59