微信公众号文章中图片加载时,占位图宽高大小的确定

Posted jlfw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信公众号文章中图片加载时,占位图宽高大小的确定相关的知识,希望对你有一定的参考价值。

打开一篇多图的微信公众好文章。在图片加载过程中,我们发现微信对每一个img都塞了也个占位图,而且占位图的宽高就是实际加载完图的宽高。这是如何做到的呢?

1.微信所有的img标签里,都有自定义的data-ratio,data-w.这两个属性是关键.

  //data-w:是图片的natural width.
  //data-ratio:是图片的高/宽值.
  <img data-src="http://mmsns.qpic.cn/mmsns/yvia9lE3NdzrSMQ18VrVqjEUU5BeMx9WuDsSBp7Exm83L9IJdjpUXLQ/0" style="vertical-align: middle; box-sizing: border-box; width: 141px !important; height: 81.7359px !important; visibility: visible !important;" data-ratio="0.5796875" data-w="640" data-type="jpeg" class="img_loading" src="http://mmsns.qpic.cn/mmsns/yvia9lE3NdzrSMQ18VrVqjEUU5BeMx9WuDsSBp7Exm83L9IJdjpUXLQ/0?wx_lazy=1">

2.js设定img的width=data-w,heigth= width*data-ratio。

3.不过,在第2步设定宽高之前,请保证img的src属性有有效的值,不然,第2步会无效,在这里我们添加一个base64的小点作为占位图(如下):

src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg=="; 

4.再给img添加一些样式:

.img_loading {
        background-color: #e3dcdc;
        border: 1 px solid #e3dcdc;
        background-size: 22px;
        background-position: center center;
        background-repeat: no-repeat;
        background-image: url(loading.gif);
}

5.当对应的img的图片加载完成后,替换掉占位图,去掉class img_loading 就好了

以上是关于微信公众号文章中图片加载时,占位图宽高大小的确定的主要内容,如果未能解决你的问题,请参考以下文章

公众号怎么上传文件

微信啥小程序可以发公告文章

微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

微信公众号代注册运营去哪里找?

亲,问下你,怎么在微信公众号上发表文章时可以加一个“立即报名”,点开以后就可以报名参加活动

公众号群发文章支持添加小程序