- 苹果小程序页面栈BUG
如果某tab页面在栈中已经存在,如果再用switchTab跳转到该页面时,该页面会触发两次,例如:onShow执行了两次! 详细描述: 【假如小程序底部有Tab-A、Tab-B、Tab-C三个页面】 复现流程一:点击Tab-C,在Tab-C中通过某个事件使用switchTab进入Tab-B,Tab-B入栈,页面显示(onShow执行一次),再次点击Tab-C,还是通过Tab-C中某个事件使用switchTab进入Tab-B,此时Tab-B在栈中已经存在,onShow执行了两次。 复现流程二:点击Tab-B,Tab-B入栈,页面显示(onShow执行一次),点击Tab-C,通过Tab-C中某个事件使用switchTab进入Tab-B,此时Tab-B在栈中已经存在,onShow执行了两次。 注:目前本人解决办法是使用reLaunch(所有页面出栈)替代了switchTab,遇到该问题并且没有更好解决办法的小伙伴不妨试试。
2021-06-17 - 小程序如何实现录屏功能?
开发小程序的过程中,由于业务需要,需要对用户屏幕进行录制,但是发现小程序好像并不支持屏幕录制功能,请问有什么解决方案么??
2021-04-15 - web-view嵌H5调用wx.miniprogram.navigateTo报错!?
开发过程中发现,在android终端(ios终端小程序中没有这个问题)小程序中web-view加载H5页面后出现一句话:“window.WeixinJSBridge already exists”!随后在通过点击事件调用小程序wx.miniprogram.navigateTo API时出现报错:errMsg: "invokeMiniProgramAPI:permission denied"!无法跳转小程序! 终端机型:OPPO R15(型号:PACM00) 微信版本:7.0.19 代码片段: //触发跳转事件 this.navigateTo(nextPage); //----------------------------------------------------------跳转具体方法-----------------------------------------------------------------// navigateTo(url) { //控制页面跳转---小程序、公众号、非微信跳转方式 【modelName---vue路由名字】 this.isMiniProgram((res) => { //判断是否是小程序页面的回调函数 if (res) { //小程序页面 this.$wx.miniProgram.navigateTo({ url: url, success: function(e){ console.log('web-view页面跳转小程序success',e) }, fail: function(e){ console.log('web-view页面跳转小程序fail',e); }, complete:function(e){ console.log('web-view页面跳转小程序complete',e); } }); } }); }, isMiniProgram(callback) { // 判断是否在微信环境。 var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) != "micromessenger") { console.log('--------->> 非微信环境!'); callback(false); } else { //微信API获取当前运行环境 this.$wx.miniProgram.getEnv((res) => { console.log(res, "res"); if (res.miniprogram) { console.log('--------->> 小程序环境!'); //小程序环境 callback(true); } else { callback(false); } }); } } }, 报错图片: [图片][图片]
2020-10-16