Lazy Loader 是针对 Joomla 1.5 的一个系统插件,它的原理与“页面预载”(page preloader)正好相反。在负载较大的服务器上,延迟图片载入(当访客滚动页面直到图片即将进入访客视野时才加载图片)可以节省带宽和服务器资源。
以往为了使访客感觉“页面打开很快”,大家都在浏览器端使用“页面预载”技术,提前读取页面中的链接对象页面,当访客点击某个链接时,那个链接所对应的页面实际上已经在本地浏览器缓存文件中保存了,所以打开很快。有的浏览器甚至允许用户选择“预读”的层数。
很显然,“页面预载”方式虽然方便了访客,但却加重了服务器的负担。因为有些预读的链接,访客可能根本不去点击它。这是对服务器资源以及网络带宽的一种浪费。
Lazy Loader 引入了“延迟加载”(Delayed loading)概念,是对这个传统方式的颠覆。
据说,www 网页上有 65% 的内容是图片。而且,由于现在广告泛滥,你正在阅读的网页上,很可能有一部分图片其实是广告(banner)。在启用“延迟加载图片”功能之后,浏览器首先加载的是页面上的文字(以及隐藏代码)部分,图片并不加载(由体积非常小的“替代图片”占位显示),如果访客有兴趣继续阅读,当他滚动页面时,图片在即将进入屏幕显示区域之前才加载。想象一下:如果访客看到页面开头就没有兴趣读下去,关闭了网页,这就意味着屏幕显示区域之外(之下)的图片都无需加载。这样,肯定节约了服务器的负担,也节约了网络带宽。
而 Lazy Loader 又将这个“延迟加载”进一步强化:它允许站长选择触发图片加载的事件。默认是“页面滚动”,也可以选择为“鼠标点击”或者“鼠标指向”。如果选择后两种,就意味着即使页面滚动了,图片进入了访客的视野,也不会立即加载。如果访客对这个图片有兴趣,想看看“这是什么图片哇”,那么他可以“鼠标点击”或者“鼠标指向”,这时才正式加载该图片。很显然,对于广告图片,或者读者没兴趣的图片,他是不会选择加载的。这又进一步节约了服务器负担和网络带宽。
Lazy Loader 插件还提供了“图片特效”功能。除了常见的“让图片显示出来”,还可以选择“以淡隐淡出效果显示”,或者“滑动效果”。无疑这个功能对于前台的页面风格增加了一些趣味。
Joomla之门同时也汉化了另一款具有相同功能的 Lazy Loading Images 图片延迟加载插件。那么,它与 Lazy Loader 有什么异同?
最大的区别是:Lazy Loading Images 使用 Mootools 1.2.4 脚本,而 Lazy Loader 使用 jQuery 脚本。
Joomla! 1.5 核心自带的是 Mootools 1.2.4 脚本,因此 Lazy Loading Images 插件不会与其它任何扩展发生脚本冲突,你只需确保你网站启用了 Mootools 1.2.4 即可(Joomla! 1.5.19+ 核心自带了,但是需要后台启用)。
jQuery 并不是 Joomla! 核心自带的脚本库,需要扩展自带。因此,Lazy Loader 自带的 jQuery 脚本可能会与其它扩展已经加载的 jQuery 脚本互相冲突,虽然你可以在 Lazy Loader 参数中禁用它自带的 jQuery,尝试使用页面上已有的 jQuery 脚本,但这并不能保证 Lazy Loader 一定能正常工作。
因此,Joomla之门建议您:请根据试用后的效果选择。我们认为 Lazy Loader 的功能更强大一些,但是如果它在你的网站上无法运行,请换用 Lazy Loading Images 插件。