imagePreview接口调用微信自带图片播放器

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在微信浏览器中,出现在网页上的图片通过点按一小段时间,可以调出微信隐藏的图片播放器,在播放器中看图可以随意放大缩小,体验更炫酷。不过这个功能默认只对通过微信后台编辑的图文网页有效。想让其他网页在微信浏览器中打开时也拥有这个功能?imagePreview接口可以帮到你。

主要有如下几步:

  1. 获取网页中所有图片url,特别注意最后的格式

/**/
var host='http://'+window.location.host;/*获取完整域名*/
var imgs=$('img');
for (i=0;i<imgs.length;i++){f(src===''){src+= "['"+ host +imgs[i].src +"'" ;}else{src+= ",'"+ host +imgs[i].src +"'" ;}
}
src+=']';
src=eval('('+src+')');
/*
*最后src为一个数组,console.log(src)的结果是这样:
[0: "http://localhost/images/9549.jpeg",1: "http://localhost/images/205.jpeg",2: "http://localhost/images/449549.jpeg"]
特别注意:src结果不是这种格式可能会出错,或者iphone上显示不出图片,或者iphone和android上都显示不出图片
*/

2.绑定图片的点击事件,在手机上最好使用touch事件而不是click

/**/
(function(){var startPos;imgs[k].addEventListener('touchstart',imgtouchstart,false);function imgtouchstart(){var touch = event.targetTouches[0];startPos = {time:+new Date};touch.target.addEventListener('touchend',imgtouchend,false);}function imgtouchend(){var touch = event.targetTouches[0];var duration = +new Date - startPos.time;if(duration>300){/*手指按下停留300毫秒触发*/var srcList=src;var index = imgs.index(this);var thissrc=host +this.getAttribute('data-original');/**thissrc:当前点击图片的url*srcList:图片url数组*/imagePreview(thissrc,srcList);}}
})()

3.实现imagePreview接口,没什么特别的,直接这样写

/**/
function imagePreview(curSrc,srcList) {//这个检测是否参数为空if(!curSrc || !srcList || srcList.length == 0) {return;}//这个使用了微信浏览器提供的JsAPI 调用微信图片浏览器if(window.WeixinJSBridge){ WeixinJSBridge.invoke('imagePreview', { 'current' : curSrc,'urls' : srcList});}
};

如上三步,微信6.0以上,android/iphone4,5,6上都可以看到正常效果


转载于:https://my.oschina.net/codespring/blog/478774

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeError: 'MongoClient' object is not callable

在声明数据库的时候&#xff0c;将中括号[ ]换成了圆括号&#xff08;&#xff09;错误&#xff1a;修改完成后的代码&#xff1a;client pymongo.MongoClient(localhost)db client[my_database]#注意这里用中括号&#xff01;&#xff01; 之后再运行程序&#xff0c;就能存…

信息系统开发有管理

做了一套题&#xff0c;又总结了下《信息系统开发与管理》。感觉又有了新的认识。这本书应该说总体的设计都是非常具有逻辑性的。内容设计的有些水到渠成。要说结构的话&#xff0c;应该算是总—分结构吧。一開始就以一篇概述全面的介绍了此书。我总结了以下的图。 信息、系统、…

Main 和 静态构造函数 到底谁先执行?

最近被问到一个很有意思的问题&#xff0c;到底是 Main函数 先执行还是 静态构造函数 先执行&#xff1f;参考如下代码&#xff1a;class Program{static Program(){Console.WriteLine("我是 静态构造 函数&#xff01;");}static void Main(string[] args){Console.…

c 正则提取html,c – 正则表达式以获取HTML表格内容

确实没有可能的正则表达式解决方案适用于任意数量的表数据,并将每个单元格放入单独的后向引用中.这是因为通过反向引用,您需要为要创建的每个backref创建一个独特的开放式窗口,并且您不知道自己有多少个单元格.使用一种或另一种循环来提取数据没有任何问题.例如,在最后一个,在P…

(五)python3 只需3小时带你轻松入门—— 逻辑运算符

如果if判断中存在多个表达式判断&#xff0c;需要使用逻辑运算符。 例如有一个变量a&#xff0c;需要判断是否在1到5之间&#xff0c;那么则需要判断a是否大于1且a小于5。这个时候需要使用and逻辑运算符进行判断。 and python中使用and判断左右两边表达式是同时正确&#xff0c…

(四)python3 只需3小时带你轻松入门—— 流程控制

缩进 python中使用缩进代表代码块&#xff1b;每一个块代表一个层次&#xff08;分支&#xff09;&#xff0c;每个单独的分支是独立的&#xff0c;但是从整体逻辑上又是相融的&#xff1b;就像一本书一样&#xff0c;每个知识点是独立的&#xff0c;但是每个知识点组成了这本书…

ASP.NET Core 正确获取查询字符串参数

前言有网友在交流群中询问&#xff0c;如何获取查询字符串参数&#xff1a;默认情况下&#xff0c;ASP.NET Core 的模型绑定以键值对的形式从 HTTP 请求中的以下列表中指示的顺序扫描源并获取数据&#xff1a;表单域请求正文路由数据查询字符串参数上传的文件因此&#xff0c;不…

(三)python3 只需3小时带你轻松入门—— 变量的简单运算

变量运算 在编程时&#xff0c;需要对数据进行计算&#xff0c;计算的形式不限于&#xff1a;字符串拼接、相加减、相乘除及普遍的数学运算、剔除或指定剔除、添加或指定添加等。 在python中&#xff1a; *表示乘法/表示除法表示加法-表示减法 a,b10,11 cog3 j2 print(ca)#加…

使用XMLConfiguration解析xml,properties等相应信息

org.apache.commons.configuration.XMLConfiguration; Apache Common-Configuration工具可以从Properties文件&#xff0c;XML文件,JNDI,JDBC数据源&#xff0c;System Properties,Applet parameters,Servlet Parameters等读取相应信息 使用步骤 前提&#xff0c;引入commons-c…

C#语法糖系列 —— 第二篇:聊聊 ref,in 修饰符底层玩法

自从 C# 7.3 放开 ref 之后&#xff0c;这玩法就太花哨了&#xff0c;也让 C# 这门语言变得越来越多范式&#xff0c;越来越重&#xff0c;这篇我们就来聊聊 ref&#xff0c;本质上来说 ref 的放开就是把 C/C 指针的那一套又拿回来了&#xff0c;而且还封装成一套自己的玩法&am…

(二)python3 只需3小时带你轻松入门——基本变量

输入 在程序运行过程中&#xff0c;数据从外部流向程序&#xff0c;称为输入。在程序运行过程中&#xff0c;接收用户从键盘上键入值&#xff0c;可以使用input()函数。 input("请输入你要输入的值:")在输入值时&#xff0c;一般是代表接下来的运算需要使用到用户所…

Fiddler之为什么我没有抓到网络请求的js链接

1 问题 我开了Fiddler&#xff0c;没有抓到js的连接请求&#xff0c;因为我需要替换js文件&#xff0c;我以为我是没有开启抓起https的连接&#xff0c;但是的确开启了。 2 原因 浏览器里面有缓存&#xff0c;部分js文件不会再进行请求。 2 解决办法 在浏览器页面按下F12,然…

html5一年四季的变化,家乡四季的变化作文(精选5篇)

家乡四季的变化作文(精选5篇)在日常生活或是工作学习中&#xff0c;大家或多或少都会接触过作文吧&#xff0c;写作文是培养人们的观察力、联想力、想象力、思考力和记忆力的重要手段。那么你有了解过作文吗&#xff1f;下面是小编精心整理的家乡四季的变化作文(精选5篇)&#…

ThinkPHP多次重复提交问题的根源

2019独角兽企业重金招聘Python工程师标准>>> 由于用户刷新网页&#xff0c;导致页面所有变量回归初始空值 $code_session2 session(code2); $code2 I(code2);if($code2 ! $code_session2) {session(code2, $code2);M(dati)->data($data)->add();} 解决方法是…

(一)python3 只需3小时带你轻松入门—— 编程尝试

什么是函数&#xff1f; 在编程中&#xff0c;函数和通常数学中的函数概念并不完全相同&#xff1b;编程中的函数更接近于一个写好的工具&#xff0c;在开发某些功能时&#xff0c;所需要到该函数&#xff0c;就把该函数拿过来使用。 输出/显示 运行python程序时显示指定的文本…

HTTP 笔记与总结(7)HTTP 缓存(配合 Apache 服务器)

在网络上&#xff0c;有一些缓存服务器&#xff0c;另外浏览器自身也有缓存功能。 例如&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title> </head> <body&…

httpcilent绕过证书

2019独角兽企业重金招聘Python工程师标准>>> 对接其他公司接口&#xff0c;测试环境没有问题&#xff0c;生产环境出现https证书认证的问题&#xff0c; 网上搜了许久才发现一个&#xff0c;链接&#xff1a;http://pan.baidu.com/s/1dEDSmY1 密码&#xff1a;dpsb …

(六)python3 只需3小时带你轻松入门——循环

for循环 使用循环可以重复执行某些代码&#xff0c;可以方便程序编写&#xff1b;但是不记效率的使用循环会使程序运行效率降低。 range 使用range()函数可以生成多个连续整数的range对象(这个概念后面会说)。基本格式&#xff1a;range(end)其中end是结尾数。range(10)则会生…

linux下查看mysql的当前连接情况

为什么80%的码农都做不了架构师&#xff1f;>>> 首先需要登录到mysql中。 总共有三个命令&#xff1a; 1、status mysql> status--------------mysql Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1Connection id: 96Current data…

用计算机画图软件画画教程,电脑画图软件有什么使用技巧,电脑画图软件教程...

一、第一步是点击右下角的“开始”图标。在开头上方&#xff0c;出现一个对话框&#xff0c;您找到“所有应用程序”&#xff0c;您右键单击鼠标&#xff0c;在出现的对话框中&#xff0c;您找到“附件”&#xff0c;您左键单击鼠标&#xff0c;在“附件”的右侧出现一个对话框…