我知道正确的延迟加载通常需要使用对象和代理模式。我还没有,因为网站需要重新设计。但是,有什么方法我仍然可以将数据库数据输出到页面并加快加载时间吗?
2 回答
您可以使用 JavaScript 在主页加载后立即开始加载额外数据。这样,您的主页就可以只勾勒页面上的组件,显示“微调器”,指示正在加载更多数据,然后将其卸载到 JavaScript 以获取更多数据。
这可以通过 AJAX 来实现。
当您第一次加载页面时,将占位符放在应该放置大量内容的位置。例如,使用div
具有独特风格和动画加载图像的 a,这样访问者就可以清楚地知道还有更多的加载正在进行。您可以在ajaxload.info生成熟悉的 AJAX 加载图像。
在页面底部有一些脚本调用或绑定必要的函数以使用 AJAX 加载附加内容。例如,您可以将 AJAX 调用绑定到 jQuery .ready()
,以便在文档的其余部分准备好后立即开始加载,或者.scroll()
在用户滚动某个元素时开始加载(例如,通过页面上分隔块的某些“地标”)内容)。
当您收到包含附加内容的 AJAX 响应(最好预先格式化为字符串形式的 HTML)时,使用jQuery 或 jQuery将占位符的内容替换div
为 AJAX 响应。如有必要,使用jQuery 或 jQuery更改样式以替换它的 CSS 类。.innerHTML =
.html()
div
setAttribute("class","newClass")
.attr("class","value")
访问者将能够看到您的整个页面并在加载时滚动浏览它。附加内容将在准备就绪时出现,而不会中断访问者的浏览体验。您可以通过在内容注入后对过渡进行动画处理来使视觉效果更好一些。
如果您需要一些关于如何使用 AJAX 异步获取内容的其他示例,请查看这些经典 JavaScript 方法或jQuery .ajax() 文档。