个人推测问题是这个弹起是遮罩层的原因,应该是先关闭遮罩层再执行onShareAppMessage(),但无奈bintab优先级低于onShareAppMessage(),先执行了onShareAppMessage(),再执行bintab。以上是个人分析问题所在,求解决办法
点击分享按钮时,有灰色的遮罩层 这是分享后的样子也有灰色
--------------------------------------------------------------------------------------------------------------------------------------------
点击分享按钮时,无灰色遮罩层 这是分享后的样子无灰色
---------------------------------------------------------------------------------------------------------------------------------
有大佬遇过吗???在线等 急。。。。。。。。。。。
你这个分享是在有shade的情况下才开始点击的?? onShareAppMessage()在分享时回自动截取当前页面,所以这个流程有问题,
1.不能在有shade的情况下调用onShareAppMessage(),这样很大几率会出现你所说的情况;
2.建议你把分享所用的图片用画布画出来,然后下载使用,可以避免这种情况,而不是用自动截取的图片;
3.可能有别的办法,我是常用第二点。
当然最简单的办法就是把shade去掉,(-.-)
页面内有一个按钮,点击 然后调起 shade,然后又点击邀请微信好友,调起 onShareAppMessage(),我知道是应该先关闭 shade再调用 onShareAppMessage(),但是无奈 onShareAppMessage()优先执行,所以有时候网络稍慢未及时关闭shade就自动截取到shade,用画布下载下来再使用感觉好麻烦,哎,实在不行就去掉shade了
刚想到一个,你可以点击分享的时候先执行关闭shade,然后延迟300毫秒执行分享,就是return的那一部分,我没试过,你可以试一试
刚刚试了一下 并不行,应该是在执行 onShareAppMessage()前关掉shade才行,它进入 onShareAppMessage()这个方法的时间其实已经保存好图片的了,return只是返回标题的信息和路径而已,延迟执行return并没用
if (res.from === 'button') {
// 来自页面内转发按钮
console.log(res.target)
setInterval(function(){
return{
}
},300)
}
写在这里面也不行?
又试了一下 不行0.0
IOS其实没问题 ,就安卓有时候有遮层 有时候又没有
这个问题很坑,分享时遮罩层时有时没有,都不知道怎么做