今天在做项目的时候, 有一个功能是内嵌在app里的h5页上有一个按钮,点击按钮要呼起微信的通讯录,进行分享,分享完成之后调后端接口记录分享次数。
如下图,呼起微信通讯录的界面是这样子:

在app里h5页面实现分享,我们的实现方式是 h5调用原生的方法实现分享,为什么用这种方式,[点这里可以查看原因]

由于微信限制,首先可以确认的一点是, 直接呼起微信通讯录,就记为分享成功(不管是选择联系人去分享还是直接点击页面上的关闭按钮都会识别为分享成功)。

实现分享,并且分享后有其他操作,所以app要提供一个协议供h5进行调用去设置分享的内容,另外h5要提供一个分享完之后的成功回调给app来调用。

踩坑
h5页面提供的回调方法要写成全局方法供app调用
刚开始直接定义了一个方法shareToWxSuccess供app调用

 function shareToWxSuccess() {alert('分享成功')// 分享成功的后续操作}

但是app一直调用不成功,后来把方法设成了全局的,app就调用成功了,这和h5调原生方法一样,都要从全局去取

    window.shareToWxSuccess = function () {alert('分享成功')// 分享成功的后续操作}

在调试分享成功回调的时候,写了一个alert,证明在调这个方法,但是在ios里虽然分享成功了但是alert没有弹,把应用程序关了之后再打开页面alert弹了,但alert弹窗关不了,并且页面假死了,过了一会app闪退。

出现这个问题的原因是因为app在调h5的方法,这是一个主线程,而且h5在调系统的alert弹窗,这又是一个主线程,所以同时出现2个主线程,页面就卡死了,解决办法是alert写个延迟就可以了。

到这里问题终于解决了。

分享到微信是这样子

内嵌在app里的h5页面实现分享相关推荐

  1. APP里引用H5页面时,高度设置引起的底部白边等问题

    H5页面在app里的常见问题: 1.当H5页面高度设置为100%,设置背景色时,发现高度有内容撑开,背景色没有铺满整个背景. 2.当H5页面高度设置为100vh,设置背景色时,背景设能铺满,但是上拉时 ...

  2. 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项...

    混合开发 随着移动互联网的高速发展,常规的开发速度已经渐渐不能满足市场需求.原生H5混合开发应运而生,目前,市场上许多主流应用都有用到混合开发,例如支付宝.美团等.下面,结合我本人的开发经验,简单谈一 ...

  3. Hybrid App中原生页面 VS H5页面(分享)

    本文部分转自  http://www.jianshu.com/p/00ff5664e000 现有3类主流APP,分别为:Web App.Hybrid App(混合模式移动应用,Hybrid有" ...

  4. app里面的h5的定位方式(夜神模拟器篇)

    一.首先确定模拟器是否与电脑连接 输入命令adb connect 127.0.0.1:62001(如图所示) 输入adb devices查看是否连接成功 二.开发在打包代码时,让开发人员开启webvi ...

  5. app 中嵌入H5页面,H5跳转H5页面的跳转实现

    app 中嵌入H5页面,H5跳转H5页面的跳转实现 模拟创建a标签,并将href给到a标签点击实现: 模拟创建a标签,并将href给到a标签点击实现: var a = document.createE ...

  6. 微信及企业微信内嵌浏览器内核信息及H5跑分数据-企业微信开发

    加我微信li570467731,拉你进二百多人企业微信开发同行群(文末有二维码). 企业微信开发三部曲: <企业微信应用开发概述篇(免费)>已完结: <企业微信开发第三方应用开发篇& ...

  7. 微信 H5页面自定义分享link不起作用

    微信 H5页面自定义分享link不起作用 最近在做这么一个功能: H5页面在微信内打开并通过设置微信自定义分享来分享出指定的标题.图片.link 但是却遇到了问题,分享指定的link没起作用,正常通过 ...

  8. h5页面生成图片分享到微信js_微信端h5页面如何调用分享页面的接口

    这次给大家带来微信端h5页面如何调用分享页面的接口,微信端h5页面调用分享页面接口的注意事项有哪些,下面就是实战案例,一起来看一下. 最近公司做了一个给学生投票的H5页面,主要是在微信端使用,需要添加 ...

  9. html怎么检测分享朋友圈没,微信中里如何判断页面被分享到朋友圈和微信号的成功,附代码...

    微信中里如何判断页面被分享到朋友圈和微信号的成功,附代码 其实微信已经给好了回调函数了. 见代码: /p> "http://www.w3.org/TR/html4/loose.dtd& ...

最新文章

  1. 《构建之法》第6 - 7章
  2. 自学python爬虫要多久-Python爬虫要学多久,给初学编程者的建议
  3. Apache ZooKeeper - 线上系统日志清理
  4. 学生成绩管理系统python课程设计,简易学生成绩管理系统Python
  5. 数据集-用于数据挖掘、信息检索、知识发现等
  6. 【CV】大神没交棒,但YOLOv5来了!
  7. 【多线程高并发】jcstress并发测试工具使用教程详解
  8. 回溯递归算法----八皇后问题
  9. 关于“稳定”的相爱相杀:负载测试和压力测试
  10. FileZilla Server远程管理
  11. 基于ABBYY SDK 实现java版本 Hello 功能!
  12. 【CSS3】C3动画总结
  13. CCD和CMOS大小(尺寸)对比图
  14. 理解exponential weighted || 指数
  15. 单表七千六百万数据量(oracle)进行实时汇总,sql很慢客户不能忍一下,该怎么办?
  16. UE4 VR 模式下全屏解决办法
  17. Codeforces 596D Wilbur and Trees
  18. 股票买卖接口源码分享
  19. 深度学习技术选型——文本相似度计算
  20. 整型家族(字符、短整型、整型、长整型)的范围

热门文章

  1. 【FPGA基础】关于FPGA的IP核概念
  2. 智能热水器C语言程序,AT89C51单片机快热式热水器程序设计
  3. 2018年蓝桥杯省赛B组C++真题
  4. [three] | 基于 maptalks + three 的三维城市示例
  5. 电信运营商云计算体系架构分析
  6. java 获取参数的类型_java反射获取方法名称,参数类型
  7. Android BLE低功耗蓝牙学习总结
  8. STM32CubeMX在freeRTOS中使用printf函数
  9. VS2015 错误 该项目需要用户输入。有关更多信息,请重新加载
  10. c语言 字母消消乐,消消乐(C语言版)