Magento加速利器——lazyload
Magento
的速度是令人头疼的问题,我现在介绍一种前端的加速方法。说到lazyload,相信很多人都不陌生,现在很多网站都已经用到这个技术,他可以延迟加载长页面的图片。对于Magento这样的商城网站的加速就很明显了。我今天说的这个lazyload是经过POPO
改造的(强逼我给他加外连……)。下面我放一些测试的数据,我正在做的一个网站的列表页。
很明显的就能看出差距。接下来写下用法:
首先加上jQuery,lazyload两段js。
lazyload:
-
(
function
($){
-
-
$.fn.lazyload=function
(options){
-
var
settings={
-
threshold:0,
-
failurelimit:0,
-
event:"scroll"
,
-
effect:"show"
,
-
container:window
-
};
-
-
if
(options){
-
$.extend(settings,options);
-
}
-
-
-
var
elements=
this
;
-
if
(
"scroll"
==settings.event){
-
$(settings.container).bind("scroll"
,
function
(event){
-
-
var
counter=0;
-
elements.each(function
(){
-
if
($.abovethetop(
this
,settings)||
-
$.leftofbegin(this
,settings)){
-
-
}else
if
(!$.belowthefold(
this
,settings)&&
-
!$.rightoffold(this
,settings)){
-
$(this
).trigger(
"appear"
);
-
}else
{
-
if
(counter++>settings.failurelimit){
-
return
false
;
-
}
-
}
-
});
-
-
var
temp=$.grep(elements,
function
(element){
-
return
!element.loaded;
-
});
-
elements=$(temp);
-
});
-
}
-
-
this
.each(
function
(){
-
var
self=
this
;
-
-
-
$(self).one("appear"
,
function
(){
-
if
(!
this
.loaded){
-
$("<imgalt="
"/>"
)
-
.bind("load"
,
function
(){
-
$(self)
-
.hide()
-
.attr("src"
,$(self).attr(
"original"
))
-
[settings.effect](settings.effectspeed);
-
self.loaded=true
;
-
})
-
.attr("src"
,$(self).attr(
"original"
));
-
};
-
});
-
-
-
-
if
(
"scroll"
!=settings.event){
-
$(self).bind(settings.event,function
(event){
-
if
(!self.loaded){
-
$(self).trigger("appear"
);
-
}
-
});
-
}
-
});
-
-
-
$(settings.container).trigger(settings.event);
-
-
return
this
;
-
-
};
-
-
-
-
-
$.belowthefold=function
(element,settings){
-
if
(settings.container===undefined||settings.container===window){
-
var
fold=$(window).height()+$(window).scrollTop();
-
}else
{
-
var
fold=$(settings.container).offset().top+$(settings.container).height();
-
}
-
return
fold<=$(element).offset().top-settings.threshold;
-
};
-
-
$.rightoffold=function
(element,settings){
-
if
(settings.container===undefined||settings.container===window){
-
var
fold=$(window).width()+$(window).scrollLeft();
-
}else
{
-
var
fold=$(settings.container).offset().left+$(settings.container).width();
-
}
-
return
fold<=$(element).offset().left-settings.threshold;};$.abovethetop=
function
(element,settings){
if
(settings.container===undefined||settings.container===window){
var
fold=$(window).scrollTop();}
else
{
var
fold=$(settings.container).offset().top;}
return
fold>=$(element).offset().top+settings.threshold+$(element).height();
-
};
-
-
$.leftofbegin=function
(element,settings){
-
if
(settings.container===undefined||settings.container===window){
-
var
fold=$(window).scrollLeft();
-
}else
{
-
var
fold=$(settings.container).offset().left;
-
}
-
return
fold>=$(element).offset().left+settings.threshold+$(element).width();
-
};
-
-
-
-
$.extend($.expr[':'
],{
-
"below-the-fold"
:
"$.belowthefold(a,{threshold:0,container:window})"
,
-
"above-the-fold"
:
"!$.belowthefold(a,{threshold:0,container:window})"
,
-
"right-of-fold"
:
"$.rightoffold(a,{threshold:0,container:window})"
,
-
"left-of-fold"
:
"!$.rightoffold(a,{threshold:0,container:window})"
-
});
-
$(function
(){
-
$("img[original]"
).lazyload({
-
threshold:200,effect:"fadeIn"
-
});
-
-
});
-
})(jQuery);
然后修改图片的路径
例如:<img alt=”"src
=”<?php echo $this->getSkinUrl(‘images/co.jpg’) ?>”/>
修改为<img alt=”"original
=”<?php echo $this->getSkinUrl(‘images/co.jpg’) ?>”src=”……”
/>。
后面这个src里的图片是一个1像素的透明gif图片。
这样就可以了,有兴趣的可以尝试下。
分享到:
相关推荐
magento lazylaod插件可以使图片异步加载 减少页面的请求次数加快页面速度
您的网站未达到预期效果的原因之一是图片过多。 网站加载速度是SEO在分析和排名网站时考虑的关键因素之一。... Magento 2图像延迟加载扩展允许您启用图像的延迟加载,以减小页面大小并提高网站性能。
边缘magento模块延迟加载Magento的外部/边缘延迟加载产品模块
magento 加速插件 速度很快 我用了后 有明显的加速行为
magento加速,magento优化图片、加载速度免费插件
magento 加速插件 full page cache 效果很好很强大 速度非常快 花了我几十美金
magento企业版全页缓存,magento的加速利器
NULL 博文链接:https://hudeyong926.iteye.com/blog/1416591
magento数据结构分析 magento数据字典
magento的SMTP插件magento的SMTP插件magento的SMTP插件
magik shoes magento 模板, magento 1.7 模板
深入理解Magento 由精东博客下载下来制作成pdf
Magento插件开发手册 Magento Extension Developers Guide
4. 税收设置------------------------------------Magento——Magento-2.6税收的设置 5. 购物券设置-----------------------------------------Magento——5.2 购物车促销规则 6. CMS 首页的一些基本设置-----------...
Athlete Magento主题,兼容Magento 1.9.x, 1.8.x, 1.7.x ,特点:完全自适应(响应式布局),自定义子主题,无限颜色,完全自定义,一键安装演示,小工具化横幅系统,颜色选择,MEGA菜单,多商店支持,自定义产品...
主要包括的内容有:magento的常用设置、Magento模板制作教程、Magento商城_目录结构说明、Magento中文教程实用文档、常用的xml的文件的作用以及自定义模块的应用
Magento 2 Beginners Guide by Gabriel Guarino English | 14 Mar. 2017 | ASIN: B01MS81BQX | 442 Pages | AZW3 | 31.84 MB Key Features Set up and manage your very first online store with a friendly and ...
magento2 developers cookbook, magento 开发手册,magento教程
[Packt Publishing] Magento 扩展开发入门教程 (英文版) [Packt Publishing] Getting Started with Magento Extension Development (E-Book) ☆ 图书概要:☆ Understand Magento extensions, and build your own...