机型: iphone6p iphone7 iphone8 微信版本:6.6.6 这个涉及到webview内页,小程序A ,和小程序B ,业务比较复杂;代码片段不好提供;我可以在评论区提供下核心代码: 小程序A 首页js // 默认进来根据option参数判断是否跳小程序 onLoad: function (option) { // 开始小程序 的跳转 let goUrl = option.url; let isToTaolibao = /^\/\/wxapp/.test(goUrl); let sessionId = getApp().globalData.sessionId; let obj = {}, parm = '?'; for (var o in option) { if (o != 'url') { let key = o; obj[o] = option[o]; parm += o + '=' + option[o]; } } obj['sessionId'] = sessionId; // 跳淘礼包 if (isToTaolibao) { let goMiniUrl = goUrl.replace(/\/\/wxapp/, ''); goMiniUrl += parm; this.goTaolibao(goMiniUrl, obj); }; }, // 跳转小程序B goTaolibao: function (opt, obj) { wx.navigateToMiniProgram({ appId: config.taolibaoAppid, // 正式版 path: opt, extraData: obj, envVersion: 'trial', success(res) { // 打开成功 console.log('跳转成功'); }, complete () => { this.goWebview(); }, fail(err) { console.log(err); } }); }, // 跳转成功后,小程序A后台自动跳转webview页(假死现象应该是在这一步产生的,但这也非必现,IOS 下 10次有6,7次出现) goWebview: function () { // 解决淘礼包小程序返回试驾夺宝 页面堆栈数过高 打开不了其他页面 var pages = getCurrentPages().length; if (pages > 1) { wx.redirectTo({ url: this.data.navigateSJDB }); } else { wx.navigateTo({ url: this.data.navigateSJDB }); } }
IOS 下 navigateToMiniProgram 成功后 小程序 假死功能: 小程序A 打开小程序B,在关闭小程序B或是返回到小程序A后;小程序A自动跳转到小程序A的webview页 ; 实现与问题: 小程序A 中wx.navigateToMiniProgram 在其success 回调中 navigateTo 到 webview 页面;导致小程序卡死不能点击右上角关闭; 环境: IOS 下 基础库版本 1.9.94
2018-05-15