微信浏览器通过WeixinJSBridge禁止右上角分享,安卓、iOS适配。(vue开发)

最近有一个需求是在微信浏览器中禁止右上角分享,因为wx-js-sdk目前还没通,所以只能用WeixinJSBridge来实现,最初逻辑是定义好禁止分享的方法后,初始化时调用即可,本地调试也没什么问题,但发到环境后发现了坑。。

1.首先发现ios和安卓偶尔会出现无效的情况,排查后发现是初始化中获取WeixinJSBridge结果为undefined,随后通过setInterval循环获取解决,保证调用具体方法时WeixinJSBridge存在即可。

2.第二个坑是iOS底部自带history前进后退,不会重新加载页面,所以跳转其他页面后,退回去分享就又出现了。。
这里本来是想监听visibilitychange事件,在切换前后台时调用具体方法,结果发现微信浏览器里不触发。。百度后才知道微信中不存在标签的概念(所以window.open无效),所以该方法永远不会触发。
之后换了一个方法监听就好了,我用的是pageshow,每次展示页面时触发(用popstate监听前进后退也可以)

具体代码:

created(){
   
    //判断当前是否是微信环境,方法网上一大堆
    if(isWexin()){
   
      let that = this;
      let WeixinJSBridge = _.get(window,'WeixinJSBridge',undefined)
      if(_rules.IsNull(WeixinJSBridge)){
   
        //首次获取WeixinJSBridge失败,开始循环获取
      
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值