AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Binom
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利广告开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽
FB二三解0.1元一个虚拟卡|PTM星际卡FB专用虚拟卡Google、Bing官方总代  联盟流量开户
FB账号资源/稳定靠谱/运行5年啦FB开户代投/三不限/白名单fb耐用号0.01一个fb账号官方合作商
广告位出租   
查看: 5290|回复: 5

[JS] 图片延迟加载小脚本(原生JS)- 无需改动HTML

[复制链接]

94

主题

2081

广告币

2960

积分

高级会员

Rank: 4

积分
2960

社区QQ达人

发表于 2020-11-4 14:23:34 | 显示全部楼层 |阅读模式
  1. <script>
  2.     var lazyLoad = function(){
  3.         // 根据情况替换 body img
  4.         var lazyImages = [].slice.call(document.querySelectorAll("body img"));
  5.         lazyImages.forEach(function(lazyImage) {
  6.             let src = lazyImage.src;
  7.             lazyImage.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
  8.             lazyImage.setAttribute('data-src', src);
  9.         });
  10.         if ("IntersectionObserver" in window) {
  11.             let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
  12.                 entries.forEach(function(entry) {
  13.                 if (entry.isIntersecting) {
  14.                     let lazyImage = entry.target;
  15.                     lazyImage.src = lazyImage.dataset.src;
  16.                     //lazyImage.classList.remove("lazy");
  17.                     lazyImageObserver.unobserve(lazyImage);
  18.                 }
  19.                 });
  20.             });
  21.         
  22.             lazyImages.forEach(function(lazyImage) {
  23.                 lazyImageObserver.observe(lazyImage);
  24.             });
  25.         } else {
  26.             // Possibly fall back to event handlers here
  27.         }  
  28.     }

  29.     document.addEventListener("DOMContentLoaded", function() {  
  30.         lazyLoad();
  31.     });
  32. </script>
复制代码
  • 脚本安装到</body>结束标签后面
  • "body img" 意思是对body内的img做延迟加载。
    要是想指定区域,你需要了解css选择器
  • "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; 是空白图片,非loading GIF(无加载特效)

评分

参与人数 2广告币 +20 收起 理由
bobogood + 10 赞一个!
朝阳风雨 + 10 赞一个!

查看全部评分

相关帖子
回复

使用道具 举报

6

主题

22

广告币

94

积分

初级会员

Rank: 2

积分
94
发表于 2020-11-4 20:44:28 | 显示全部楼层
先显示文字内容,再显示图片吗

为了网页速度?

点评

文字内容本身就是先显示的,图片是后加载的。 这些图片本应该是一起加载的,延迟加载是把非可见的图片暂时用同一个图片代替(比如loading gif/或者1x1px的空白图片)减少请求,图片在可见区域立即加载或者设定距离可  详情 回复 发表于 2020-11-4 22:01
回复 支持 反对

使用道具 举报

94

主题

2081

广告币

2960

积分

高级会员

Rank: 4

积分
2960

社区QQ达人

 楼主| 发表于 2020-11-4 22:01:17 | 显示全部楼层
andyisless 发表于 2020-11-4 20:44
先显示文字内容,再显示图片吗

为了网页速度?

文字内容本身就是先显示的,图片是后加载的。
这些图片本应该是一起加载的,延迟加载是把非可见的图片暂时用同一个图片代替(比如loading gif/或者1x1px的空白图片)减少请求,图片在可见区域立即加载或者设定距离可见区域多少像素提前加载(根据距离这种会无等待感)

点评

直接上插件,性能不够,再升级主机。早期能用钱解决的,少编一些代码。多花点时间研究竞争对手的外链手法,这个效率更高更快。后期几w几十w流量再研究这个,才更有价值。  详情 回复 发表于 2020-11-5 10:21
o 这样的出发点 的确对速度有帮助 我看到tupa的网站,也是这样操作的,结果很多图片不显示,都是显示同一张图片 好像玩脱了,对用户体验不是很好。  详情 回复 发表于 2020-11-4 23:50
回复 支持 反对

使用道具 举报

6

主题

22

广告币

94

积分

初级会员

Rank: 2

积分
94
发表于 2020-11-4 23:50:08 | 显示全部楼层
sead 发表于 2020-11-4 22:01
文字内容本身就是先显示的,图片是后加载的。
这些图片本应该是一起加载的,延迟加载是把非可见的图片暂 ...

o 这样的出发点

的确对速度有帮助

我看到tupa的网站,也是这样操作的,结果很多图片不显示,都是显示同一张图片

好像玩脱了,对用户体验不是很好。
回复 支持 反对

使用道具 举报

10

主题

1029

广告币

1386

积分

高级会员

Rank: 4

积分
1386
发表于 2020-11-5 10:21:13 | 显示全部楼层
sead 发表于 2020-11-4 22:01
文字内容本身就是先显示的,图片是后加载的。
这些图片本应该是一起加载的,延迟加载是把非可见的图片暂 ...

直接上插件,性能不够,再升级主机。早期能用钱解决的,少编一些代码。多花点时间研究竞争对手的外链手法,这个效率更高更快。后期几w几十w流量再研究这个,才更有价值。

点评

对于我这种码农出生的不写代码会手痒 另外些需求找外包沟通时间大于自己动手的时间。 谷歌对网站体验明年有重要更新,如果到跟前再解决就有点跟不上节奏。 外链手法:1种是砸PBN,或者买内容外链,链接自然就OK  详情 回复 发表于 2020-11-5 11:10
回复 支持 反对

使用道具 举报

94

主题

2081

广告币

2960

积分

高级会员

Rank: 4

积分
2960

社区QQ达人

 楼主| 发表于 2020-11-5 11:10:57 | 显示全部楼层
易生挺 发表于 2020-11-5 10:21
直接上插件,性能不够,再升级主机。早期能用钱解决的,少编一些代码。多花点时间研究竞争对手的外链手法 ...

对于我这种码农出生的不写代码会手痒 另外些需求找外包沟通时间大于自己动手的时间。 谷歌对网站体验明年有重要更新,如果到跟前再解决就有点跟不上节奏。  外链手法:1种是砸PBN,或者买内容外链,链接自然就OK~ 目前就购买链接还需要多研究
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2024-11-22 03:49 , Processed in 0.047478 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表