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

打开一篇多图的微信公众好文章。在图片加载过程中,我们发现微信对每一个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 就好了

原文地址:https://www.cnblogs.com/jlfw/p/12199242.html

时间: 2024-08-29 12:21:16

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

iframe显示微信公众号文章

最近在做一个案例页面,主要结构就是列表和内容,还有固定的头部和底部(方便查看价格及购买),因为之前的案例详情页是很多的固定页面,这样不太方便维护,现在其他同事需要展示不同的案例,所以就从新整理了一下这块: 1.列表页就是很普通的,请求数据,包含一张图片.一句简要说明.一个微信文章链接,图片和文字展示在列表页,链接是当点击图片是跳转(就是div显示隐藏)显示对应的文章: 2.详情页就是将点击的链接赋值给iframe的src,但是这里问题还是比较多的: 微信公众号文章的图片做了处理,在外域使用的话,

【技巧】如何使用客户端发布BLOG+如何快速发布微信公众号文章

[技巧]如何使用客户端发布BLOG+如何快速发布微信公众号文章   1  BLOG文档结构图     2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何使用客户端发布BLOG(重点) ② 如何快速发布微信公众号文章 ③ 如何批量上传图片到blog ④ 如何批量上传图片到微信公众号上     Tips: ① 本文在itpub(http://blog.itpub.net/26736162)

Python爬虫实现的微信公众号文章下载器

平时爱逛知乎,收藏了不少别人推荐的数据分析.机器学习相关的微信公众号(这里就不列举了,以免硬广嫌疑).但是在手机微信上一页页的翻阅历史文章浏览,很不方便,电脑端微信也不方便. 所以我就想有什么方法能否将这些公众号文章下载下来.这样的话,看起来也方便.但是网上的方法要么太复杂(对于我这个爬虫入门新手来说),要么付费. 但我的需求其实却很简单--"方便的查找 / 检索 / 浏览相关公众号的任意文章",所以,一番学习检索后,上手做了一个小工具(打包成可执行文件了),虽然方法和代码相当简单,但

pc端引入微信公众号文章

最近做了一个小需求,结果坑特别多..... 需求是这样的,要给公司内部做一个微信公众号广告投票系统,整个项目就不多赘述了,有个小功能,要求是这样的: 点击某条记录后的“投票”按钮,在当前页面弹出弹窗显示文章内容(读取文章url,需要正确展示文字.图片.排版等),保持3分钟,这期间在当前页面上不可进行任何操作,不可投票也不可关闭文章.3分钟后,文章下方的投票区域可用,点击“提交”按钮时,校验所有项目是否都已选择,如果没有,则弹窗提示.提交完成后,状态更改为“已投票”(只是针对该用户,不针对该公众号

微信公众号文章也可以添加音乐 不用因无法添加背景音乐代码而烦恼了

之前我们有聊过用代码添加图文消息背景音乐,微信可能考虑安全问题一段时间后代码不能用了,现在好了,微信公众号文章也可以添加音乐了,直接在微信公众平台后台像添加图片一样直接就可以插入音乐,未经认证的公众号也可以使用这一功能. 微信公众号文章添加音乐具体的操作流程是: 运营者可以在编辑图文消息时,在正文中插入音乐;选取音乐时,支持根据歌名.作者进行搜索,并且可以试听音乐;完成后即可. 也许文字不能表达的,音乐,可以表达. 一首歌,也许是你的信仰,你的态度,你的心情,你的记忆…… 为了让这种表达和分享更

小麦苗微信公众号文章链接地址

小麦苗的微信公众号文章链接地址: 发布日期 文章标题 2016-08-14 [等待事件]User I/O类 等待事件(2.1)--db file sequential read(数据文件顺序读) 2016-08-13 [等待事件]等待事件概述(1)--等待事件的源起和分类 2016-08-12 [故障处理]ORA-12545: Connect failed because target host 2016-08-11 [故障解决]ORA-06502: PL/SQL: numeric or val

使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数

1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Export Root Certificate to Desktop(导出证书到桌面)选项: 安装证书: 在桌面上找到FiddlerRoot.cer文件,双击进行安装直到导入成功. 2 配置fiddler抓取规则 在菜单栏中依次选择 [Rules]->[Customize Rules] 弹出Fiddler Scr

微信公众号文章怎么精准群发给指定用户?

微信公众号文章一般默认是全体群发状态,但如果想要把内容只展现给一部分用户呢?其实很简单,只需要根据之前设定好的标签来群发就可以了,不过当然是你的标签分类要简洁合理,具体操作如下: 1.进入微信公众平台,左边导航栏点击用户管理.然后点击新建标签.输入标签名称,点击确定?. 2.选中某个需要打标签的粉丝,然后点击打标签 3.进入群发界面,群发对象选择按标签选择,标签选择为需要群发的标签分组:选择对应的素材点击群发即可发送到指定人的微信中了,而没有该标签中的用户不会收到群发消息. 虽然说在后台聊天中,

微信公众号文章采集器

今天讨教大叔给大家聊聊什么是微信公众号文章采集器?微信公众号文章采集器的用处在哪里? 首先简单的介绍下微信公众号文章采集器:它是由讨教平台开发,专门服务于中小型互联网企业的一款内容价值输出系统.帮助中小型企业在文章发布,内容输出,大量提高了员工工作效率的以及企业的运营成本. 在采集系统中,我们可以把所有的微信公众号,只需要你手动输入 你想采集公众号的名称输入采集系统上,即可快速的帮助你完成此公众号的内容全部采集.采集过来的文章,您可以选择修改标题和内容,以及过滤掉垃圾文章. 我们讨教平台测试过: