苹果IOS隐藏复制链接等按钮失效及报错the permission value is offline verifying解决办法

用vue开发微信公众号网页项目,用到微信分享功能,为保护页面隐私,需要隐藏复制链接、分享到朋友圈、收藏等按钮功能,具体效果见下:

一开始采用的办法是,按微信开放文档介绍的API,隐藏不需要的按钮
使用批量隐藏功能按钮接口:
wx.hideMenuItems({
menuList: [“menuItem:editTag”,“menuItem:delete”,“menuItem:refresh”,“menuItem:copyUrl”,
“menuItem:share:qq”,“menuItem:share:weiboApp”,“menuItem:favorite”, “menuItem:share:timeline”,“menuItem:openWithQQBrowser”,“menuItem:openWithSafari”,
“menuItem:share:email”, “menuItem:originPage”,“menuItem:share:facebook”,“menuItem:share:QZone”,“menuItem:share:brand”]
})
结果:使用后微信开发者工具显示正常,安卓正常。但是苹果IOS显示异常,转发给朋友按钮显示不出来,刷新当前页面时,转发给朋友按钮就会显示出来。
一开始想到的解决办法是进入当前页面后用代码刷新一下当前页面,但感觉这种解决办法不太好,就没有采用。
于是在网上查找资料,找到一个解决办法:
先隐藏到所有按钮操作,在主动显示出来你要的按钮操作。
代码如下:

 wx.ready(function () {wx.hideAllNonBaseMenuItem();//此处省略转发给朋友代码wx.showMenuItems({menuList: ["menuItem:share:appMessage"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3});});

写好后上测试环境,结果报错了,也不生效,打开调试模式,报错信息如下:

通过在网上查资料,找到了原因:config的jsApiList []缺少了hideAllNonBaseMenuItem这个参数,
jsApiList: [ ‘checkJsApi’, ‘onMenuShareAppMessage’, ‘hideMenuItems’, ‘hideAllNonBaseMenuItem’, ‘showMenuItems’, ]
添加上如上参数,再上测试环境,发现不报上面的错误了,但是在苹果IOS手机上前面转发给朋友按钮显示不出来,刷新当前页面时,转发给朋友按钮就会显示出来的问题又出现了。调试模式下,报错信息如下:

问题分析: 开启debug查看弹出的信息,先报错hideAllNonBaseMenuItem:the permission value is offline verifying,再弹出menuItem:share:brand,config:ok。而安卓手机或苹果手机当前页面刷新,是先弹menuItem:share:brand,config:ok,再弹hideAllNonBaseMenuItem:config:ok

得出结论:导致错误的原因是"先执行了wx.hideAllNonBaseMenuItem方法再执行wx.onMenuShareAppMessage()"。
解决方法:
setTimeout(() => { }, 400) // 将wx.hideAllNonBaseMenuItem和wx.showMenuItems()放延时器中延迟一下

代码如下:

             wx.ready(function () { //通过ready接口处理成功验证setTimeout(() => {      //把按钮的隐藏与显示放定时器里,可以解决苹果IOS系统按钮隐藏与显示不生效问题wx.hideAllNonBaseMenuItem();wx.showMenuItems({menuList: ["menuItem:share:appMessage"] // 要显示的菜单项});},400)wx.onMenuShareAppMessage({ // 分享给朋友  ,在config里面填写需要使用的JS接口列表,然后这个方法才可以用 title: '盛唐传世 财富传家', // 分享标题desc: '财富师'+businessName+'为您分享', // 分享描述link: shareLink, // 分享链接imgUrl: 'http://file0.datangwealth.com/g1/M00/16/50/rBAeX1ybKCiAEKkxAADvNDguF4c858.png?filename=share.png', // 分享图标type: '', // 分享类型,music、video或link,不填默认为linkdataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空success: function() {// 用户确认分享后执行的回调函数},cancel: function() {// 用户取消分享后执行的回调函数}});});

在分享微信公众号页面时还要到了一个头疼的问题,如果页面的链接地址进入页面后分享,分享的还是链接地址,不带标题描述图片等信息,只有从微信公众号菜单栏进入或者扫描二维码进入或者从带标题描述信息的分享链接进入,再次分享才会显示标题描述图片等信息

苹果IOS隐藏复制链接等按钮失效及报错the permission value is offline verifying解决办法相关推荐

  1. 微信小程序苹果iOS长按图片无法转发、发送给朋友、保存,它们无效的解决办法

    一次在开发小程序过程中后台返回的小程序码用image标签直接显示,最后测试发现在iOS上长按图片不能发送给朋友.转发和保存. 经过分析发现那是因为后台返回的图片是base64编码的图片,虽然在base ...

  2. navicat for Oraclel链接oracle 报错oracle library is not loaded的解决办法

    一.下载 OCI文件下载 Oracle Instant Client Downloads for Microsoft Windows下载 1.oracle官网下载oci 64位下载 https://w ...

  3. ios 微信分享重新编码链接_微信民众号IOS端复制链接失足,安卓端分享链接翻开只能进入首页等题目的处理...

    近来在做某个需要在微信中翻开的项目,部份页面会经由过程微信分享或复制链接分享给其别人,然后就遇到了以下坑: 1.IOS端复制链接或在其他浏览器中翻开时,如果原网站链接原本应当是"http:/ ...

  4. ios真机调试,iTunes检测得到,hbuilder未检测到手机和模拟器的解决办法

    ios真机调试,iTunes检测得到,hbuilder未检测到手机和模拟器的解决办法 在做ios集成极光认证的时候,一直无法ios真机调试,试了网上非常多方法,什么下载iTunes,下载爱思修复驱动, ...

  5. safari浏览器在使用videojs-contrib-quality-levels.js 播放视频时 清晰度失效, 报错Unhandled Promise Rejection: AbortError

    最近在开发一个类似腾讯视频这样的电影播放网站,遇到了不少问题,记录一下使用videojs插件时,在safari浏览器下引入插件后,清晰度失效的问题 因为电影.电视剧播放器这块是我负责的模块,项目中使用 ...

  6. android 7.1 白屏,苹果iphone7手机白屏怎么回事 iphone7白屏不能关不了机的快速解决办法...

    iPhone7是现在很多小伙伴都在使用的,目前不少小伙伴在进行使用的时候出现白屏的现象,因此很多小伙伴不知道怎么回事,就让小编给大家详细的讲讲怎么解决吧! iphone7白屏不能关机解决方法: 1.在 ...

  7. CSDN代码内容复制后在程序中格式报错处理方法

    很多人遇到程序代码复制后格式问题报错后,往往都是直接一行一行的调节格式内容,可能代码量不多,一般花费10-40分钟都可以调节过来,但其实不需要这么麻烦,可以总结一些简单的方法: 1.拷贝程序代码 2. ...

  8. 网上复制代码需谨慎,莫名其妙报错看这里!

    文章目录 问题描述 解决办法 问题描述 我已经有有两次遇到这种情况:从网上复制一段代码,自以为完美没有bug了,可是编译器总是提示有问题? 例如: Vivado提示错误: 对于这种问题,也就是: [H ...

  9. pl/sql链接64位oracle数据库报错Could not initialize oci.dll

    原来是32位的oracle,所以没有报错. 后来是64位oracle,但是是直接链接oracle客户端,所以也没有报错. 现在是64位oracle服务器上直接安装plsql,报错. 报错原因:plsq ...

  10. requirejs页面刷新失效js报错问题解决方案

    插件名称:requirejs 问题:页面刷新后模块载入失效,js报错 下载地址:http://www.chtml.cn/topic/show/10816 问题原因: requirejs是先加载本身在加 ...

最新文章

  1. C#服务器端获取客户端(html)控件值
  2. netty接收大文件的方法
  3. redis 安装并设置为开机启动服务
  4. AVVision Organized Session (IROS'21) 征稿开启
  5. 【算法】剑指 Offer 61. 扑克牌中的顺子 【重刷】
  6. mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
  7. 应用filestream设置时存在未知错误_开机黑屏?常见启动黑屏错误的中文解释!学习电脑知识电脑小匠...
  8. Centos7离线安装redis
  9. 概率与计算机论文,数学概率统计论文范文
  10. 创建一个带有Event Receiver的List Definition
  11. Atitit 衡量项目的规模
  12. MATLAB 滤波函数的源代码
  13. 苹果屏幕镜像_苹果屏幕镜像一直在转,秒懂投屏帮你解决
  14. 笔记本电脑插耳机后耳机无声音有外放情况,咋办??
  15. 2022-2028年中国折叠椅行业发展策略分析及投资前景研究报告
  16. 微信小程序练手项目-音乐播放器
  17. 设置inline-block布局造成的幺蛾子事
  18. Xcode8 支持 iOS7及以下版本
  19. 2016广东工业大学新生杯决赛
  20. 校内互测 B. 王者荣耀 (二分答案+dp)

热门文章

  1. “强方杯“首届北京高校概率篮球棋邀请赛收枰
  2. 全球5G发展洞察2022(上)
  3. 动词变名词的变化规则_动词accept变成名词-tion?那就错……多名词变化规律如下总结...
  4. 数字化时代,如何赋能人才
  5. finereport帮助文档中期学习总结
  6. windows 远程桌面连接 bat
  7. 川大教师发自白书:一所高校就是一座衙门
  8. 细节复盘2 (图片放足够大高斯模糊< style > scopedvue打开新的页面轮播图抖动的问题 translateZ、translateY、垂直水平居中)2020-8-1
  9. Myeclipse2014破解教程
  10. 计算机协会维修照片,照片门事件后,当年那个毁了陈冠希的电脑修理员,如今变成这样!...