微信端网页中图片的展示方式

简介: 一、微信端网页中图片的展示方式   微信端网页中图片有两种展示方式:平铺与图集。平铺的时候文档内的所有图片全部展开,点击图片则放大。图集的时候只展示一张图片,点击图片的时候以翻页的方式展示一组图片。实现原理对于如下一个图片标签,data-gid用于存放组标识,同一组的data-gid相同。

一、微信端网页中图片的展示方式

  微信端网页中图片有两种展示方式:平铺与图集。平铺的时候文档内的所有图片全部展开,点击图片则放大。图集的时候只展示一张图片,点击图片的时候以翻页的方式展示一组图片。实现原理对于如下一个图片标签,data-gid用于存放组标识,同一组的data-gid相同。data-index用于存放组中图片的展示顺序,不能相同。onclick中根据data-src处理图片展示。对于图集就只显示一张其他的img设置为隐藏,src与第一个图片一样,或者为空,这样可以减少网页的加载量,提高访问效率。data-src保存图片的真正访问路径。

 <img src="http://c.hiphotos.baidu.com/image/pic/item/43a7d933c895d143175ffe2971f082025aaf078a.jpg" 
 data-src="http://c.hiphotos.baidu.com/image/pic/item/43a7d933c895d143175ffe2971f082025aaf078a.jpg"
 data-gid="g2" data-index="1" onclick="showImg('g2', 1);">

二、图集的实现 

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head> 
 4 </head>
 5 <body>
 6 <img src="http://file4.mafengwo.net/M00/1C/D7/wKgBm07XPbnSQZx0AAIqMAJ8jKk61.m_rbook_comment.w475.jpeg" data-src="http://file4.mafengwo.net/M00/1C/D7/wKgBm07XPbnSQZx0AAIqMAJ8jKk61.m_rbook_comment.w475.jpeg" onclick="showImg(1,1);" data-gid="1"  data-index="1">
 7  <img src="http://file4.mafengwo.net/M00/1C/D7/wKgBm07XPbnSQZx0AAIqMAJ8jKk61.m_rbook_comment.w475.jpeg" data-src="http://file20.mafengwo.net/M00/03/26/wKgB3FDkRIiAAyvuABQ-Je1TOyw16.rbook_comment.w235.jpeg" style="display:none;" onclick="showImg(1,2);" data-gid="1"  data-index="2">
 8  <img src="http://file4.mafengwo.net/M00/1C/D7/wKgBm07XPbnSQZx0AAIqMAJ8jKk61.m_rbook_comment.w475.jpeg" data-src="http://file21.mafengwo.net/M00/BE/89/wKgB3FE63pWAApk2AANestUDQdA39.rbook_comment.w235.jpeg" style="display:none;" onclick="showImg(1,3);" data-gid="1"  data-index="3"> 
 9  <img src="http://file4.mafengwo.net/M00/1C/D7/wKgBm07XPbnSQZx0AAIqMAJ8jKk61.m_rbook_comment.w475.jpeg" data-src="http://file25.mafengwo.net/M00/11/66/wKgB4lMK7gqAFTYQAALmxMPzzAc91.rbook_comment.w235.jpeg" style="display:none;" onclick="showImg(1,4);" data-gid="1"  data-index="4">    <br>
10  
11  <img src="http://file4.mafengwo.net/M00/8C/3D/wKgBm04CpfHu_HchAAGYp2Llh6A18.rbook_comment.w235.jpeg" data-src="http://file4.mafengwo.net/M00/8C/3D/wKgBm04CpfHu_HchAAGYp2Llh6A18.rbook_comment.w235.jpeg"  onclick="showImg('a',1);" data-gid="a"  data-index="1"> 
12  <img src="http://file4.mafengwo.net/M00/8C/3D/wKgBm04CpfHu_HchAAGYp2Llh6A18.rbook_comment.w235.jpeg" data-src="http://file20.mafengwo.net/M00/A4/2E/wKgB3FDvuzyARycuAAY-YDf0uJ409.rbook_comment.w235.jpeg" style="display:none;" onclick="showImg('a',2);" data-gid="a"  data-index="2"> 
13    
14 <script type="text/javascript">
15  
16 var imgDate = {};//二位数组,保持图片的组别,顺序和地址信息
17 var imgs = document.getElementsByTagName("img"); 
18 for(var i = 0; i < imgs.length; i++){
19     var img = imgs[i];
20       var index = img.getAttribute("data-index");//存放索引
21     var gid = img.getAttribute("data-gid");//组号 data-gid 存放组号
22     var dsrc = img.getAttribute("data-src");//地址 
23     if(index && gid && dsrc){ 
24         imgDate[gid] = imgDate[gid]||[]; //该组不存在则创建
25         imgDate[gid][index] = dsrc;//按照索引设置地址
26     }
27 } 
28  //点击图片时调用,groupid组号,index索引号
29 function showImg(groupid, index) {  
30     if (typeof window.WeixinJSBridge != 'undefined') {
31         WeixinJSBridge.invoke('imagePreview', {
32             'current' : imgDate[groupid][index],//当前地址
33             'urls' : imgDate[groupid] //
34         });
35     }else{
36         alert(groupid+"请在微信中查看"+index, null, function(){});
37     }
38 } 
39 </script>
40 </body>
41 </html>

这里定义了两组图片组,在微信段查看就可正常运行。在普通浏览器中点击图片会提示使用微信查看。

  如果使用了iframe,需要iframe中的图片也能达到这样的效果,就需要修改showImg函数,修改后的函数如下:

 function showImage(groupid, index) {
            var wxJSbridge = window.WeixinJSBridge || parent.window.WeixinJSBridge;
            // alert(typeof window.WeixinJSBridge);
             alert(typeof wxJSbridge);
            if (typeof wxJSbridge != 'undefined' ) {
                wxJSbridge.invoke('imagePreview', {
                    'current' : imgDate[groupid][index],
                    'urls' : imgDate[groupid]
                });
            }else{
                alert("请在微信中查看", null, function(){});
            }
  }

 

目录
相关文章
|
机器学习/深度学习 小程序 前端开发
微信小程序——实现对话模式(调用大模型图片生成)
微信小程序——实现对话模式(调用大模型图片生成)
960 3
|
11月前
|
人工智能 自然语言处理
使用企业微信或公众号自动回复图片消息
AppFlow支持企业微信和公众号接收图片消息,并提供两种回复方式。方式一:直接回复图片消息,用户发送图片后立即收到回复,但无法继续追问。方式二:先保存图片,待用户发送文字后再一并处理并回复。配置步骤包括选择模板、配置鉴权信息、设置执行动作参数及发布连接流。详细操作可参考相关文档。
1108 1
使用企业微信或公众号自动回复图片消息
|
小程序 开发者
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
338 0
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
3286 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
248 0
|
小程序 前端开发
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
1207 3
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
824 0
|
机器学习/深度学习 自然语言处理 计算机视觉
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
【4月更文挑战第14天】中山大学和微信团队的研究者提出 SingDiffusion,一种解决扩散模型在处理极端亮度图像时的平均亮度问题的新方法。SingDiffusion 可无缝集成到预训练模型中,无需额外训练,通过处理 t=1 时间步长的采样问题,改善了图像生成的亮度偏差。在 COCO 数据集上的实验显示,相较于现有模型,SingDiffusion 在 FID 和 CLIP 分数上表现更优。
218 7
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!

热门文章

最新文章