前言:

h5分享到微信,h5使用微信支付这些功能,都需要先判断是否安装微信客户端,如果已安装就启动微信,如果没有安装微信,就提示用户前去安装。

我们可以通过访问微信提供的URL协议(weixin://)来实现这个功能,代码如下:

示例代码:

1 <!DOCTYPE html>
2 <html>
3     <head>
4         <metacharset="UTF-8">
5         <metaname="viewport"content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
6         <title>判断手机是否安装微信</title>
7     </head>
8     <body>
9     <ahref="javascript:testApp('weixin://')"class="dl-btn"id="download">打开微信</a>
10     <script>
11     functiontestApp(url) {12           vartimeout, t= 1000, hasApp= true;13 setTimeout(function() {14             if(!hasApp) {15                 //没有安装微信
16                 varr=confirm("您没有安装微信,请先安装微信!");17                 if(r==true){18 location.href="http://weixin.qq.com/"
19 }20 }else{21                 //安装微信
22 }23 document.body.removeChild(ifr);24 },2000)25
26           vart1=Date.now();27           varifr=document.createElement("iframe");28 ifr.setAttribute('src', url);29 ifr.setAttribute('style','display:none');30 document.body.appendChild(ifr);31 timeout=setTimeout(function() {32              vart2=Date.now();33              if(!t1||t2-t1<t+ 100) {34 hasApp= false;35 }36 }, t);37 }38     </script>
39     </body>
40 </html>

扩展:

同样,通过上边的方法,也可以判断是否安装第三方app,前提是第三方app必须提供相应的URL协议,具体参考:H5外部浏览器直接调起App

后记:

看到有博友评论,贴了一百多行php前端后端的代码,所以也就重新整理了下这篇文章。使用本文方法,关键代码也就那么二十几行,大部分浏览器都是能正常调起微信的,一般来说这已经足够了。实在是不太明白为什么前端用js就能解决的问题还要搞一大堆php前端后端管理后台的东西,作为一个前端开发来说,实现一个功能自然是代码越精简越好,前端能实现的就尽量不要劳烦后端,h5能搞定的,就无需用什么php。

转载于:https://www.cnblogs.com/xyyt/p/7095364.html

H5外部浏览器直接调起微信——通过url协议 weixin:// 判断是否安装微信及启动微信...相关推荐

  1. 友盟社会化分享之判断是否安装了QQ、微信、新浪微博客户端

    一.判断是否安装了微信客户端 1.在.m文件中到入头文件:#import "WXApi.h" 2.调用是否安装了微信的方法isWXAppInstalled: if ([WXApi  ...

  2. DCloud旗下的uni-app如何判断是否安装腾讯QQ微信微博支付宝淘宝客户端

    遇到的问题 最近,在用uni-app混合方式开发app,在做微信授权登录的时候,要判断手机里面是否安装有微信客户端,如果没有安装提示用户「未安装微信客户端或版本过低」.刚开始用uniapp,很多语法都 ...

  3. html微信支付跳转源码,h5外部浏览器跳转微信支付链接api接口免费代码

    如何让h5网页外浏览器跳转微信支付链接呢,这里分析了部分微信接口,可以用原生的公众号支付接口来搭建平台,代码如下 跳转中 //演示地址:http://vip.kakuapi.com/wxpay.php ...

  4. html 获取微信支付接口,h5外部浏览器跳转微信支付链接api接口免费代码

    如何让h5网页外浏览器跳转微信支付链接呢,这里分析了部分微信接口,可以用原生的公众号支付接口来搭建平台,代码如下 跳转中 //演示地址:http://vip.kakuapi.com/wxpay.php ...

  5. H5外部浏览器唤起微信分享

    最近在做一个手机站,要求点击分享可以直接打开微信分享出去.而不是jiathis,share分享这种的点击出来二维码.在网上看了很多,都说APP能唤起微信,手机网页实现不了.也找了很多都不能直接唤起微信 ...

  6. html怎么调用微信api接口,JFinal Weixin 学习笔记(6)-- 获取微信接口调用凭据

    利用 AccessTokenApi 获取 access_token access_token 是公众号的全局唯一票据,公众号调用各接口时都需使用 access_token. jfinal-wein 提 ...

  7. android微信解析失败,为什么我的手机安装不上微信,一安装就说解析包错误

    为什么我的手机安装不上微信,一安装就说解析包错误以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么我的手机安装不上微 ...

  8. user-agent:判断扫码的客户端是微信还是支付宝

    User Agent格式 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏 ...

  9. 不越狱可以安装多个微信吗?教你不越狱安装多个微信技巧

    随着微信所关注的东西越来越多,不少人都产生了类似这样的想法:一个微信关注的都是熟人.而另一个微信则为关注公众号.再一个微信是用于社交等等.此前,要实现这个想法一般都是要越狱.但依旧有不少果粉还不太喜欢 ...

最新文章

  1. 300秒搞定第一超算1万年的计算量,量子霸权时代已来?
  2. 中国高校生物信息学中心有哪些
  3. python怎么学好-怎么短时间学好python
  4. MAC安装mysql8.0.11以及修改root密码
  5. python装饰器作用和功能_python装饰器大详解
  6. 欧氏空间内积定义_三、n维空间简介(6)矢量平移和测地线
  7. 学习笔记_vnpy实战培训day04
  8. 推荐几家域名注册服务商 附个人意见
  9. 【R爬虫-1】BBC Learning English
  10. 人人都是产品经理——一切从Kick Off开始
  11. window10系统ie设置代理,保存不了的问题
  12. 建模是什么,建模定义,及学习方法
  13. 即使是昏暗的街道,也有每日照耀的月
  14. 性能测试模型之曲线拐点模型——压力曲线分析图
  15. flying saucer做导PDF踩过的坑~
  16. 移动端切图内容包括什么_移动ui设计切图规范有哪些要求
  17. 【ESP 保姆级教程 预告】疯狂Node.js服务器篇 ——案例:ESP8266 + DS18B20温度传感器 +NodeJs本地服务+ MySQL数据库
  18. A - Multiplication Dilemma (思维)( 2018 ACM ICPC Arabella Collegiate Programming Contest)
  19. cuda编程与gpu并行计算(六):图稀疏矩阵转为CSR结构并传入gpu
  20. java7java8 集合中对象的某一个字段分组

热门文章

  1. mysql系列问答题_(2)MySQL运维基础知识面试问答题
  2. php://input allow_url_include,php allow_url_include的应用和解释_PHP教程
  3. 前端javascripts基础知识点猴子吃桃
  4. logistic逻辑回归分类算法及应用
  5. 计算机常用的数制及编码
  6. 第五人格pcmac_第五人格:未上线,勘探员已经让庄园内的CP乱了分寸,祭司最绝...
  7. Genymotion设置代理至BurpSuite和Charles
  8. Requests 2.18.1文档
  9. React学习:双向数据绑定、约束性和非约束性组件-学习笔记
  10. python函数详解