我知道能够使用一些第三方 jquery 库延迟加载“图像”。无论如何,当用户滚动到该容器时,是否可以延迟加载几乎任何<div>
元素容器之类的东西<div>
3 回答
要扩展 kinsho 的(正确)答案:
出于安全性和可维护性的原因,您应该警惕将原始 HTML 直接注入到文档中。这样做可能会破坏事件侦听器、破坏 DOM 解析器,并可能引发安全漏洞。
通常,延迟加载内容的最佳方式是将编码数据(例如 JSON 或 XML)发送到客户端,并相应地处理结果。对于基本的 HTML,可以使用模板解决方案。甚至 aniframe
也比将<div><h1>Hello</h1><table><tbody><td><tr>1</td></tr><tr><td>2</td></tr></tbody></table></div>
* 粘贴到元素的innerHTML
.
此外,在为您的网站实施延迟加载之前,请花一些时间考虑它是否真的值得。一个额外的 HTTP 请求比一次下载数据要昂贵得多,而且任何通过 Javascript 注入的 HTML 都不会被网络搜索爬虫看到。所以,如果你只是注入少量的静态信息,那真的不值得麻烦。
*你能找到解析错误吗?现在想象一下对标准大小的 HTML 文档执行此操作。
为什么要依赖一些第三方库来帮助你延迟加载?您可以使用本机 JavaScript 做得很好。
事实上,只要你接受所有延迟加载都是由某些用户操作触发的原则,就可以在特定对象(无论是滚动条、某些部分标题等)上设置一个侦听器。设置一个依赖 AJAX 的相应处理程序(您可以在此处使用 jQuery)来获取数据(最好是 HTML),您可以使用innerHTML
容器元素的属性将其直接加载到您想要的任何容器中。
这是您真正想要开始的。这是我自己制作的一个新的 jQuery 插件。您可以根据您想要的任何元素(jQuery 选择器)“延迟加载”任何您想要的东西。