IOS微信会缓存首次页面地址,如果是单页面,使用vuerouter去更改路由的话,不会刷新页面。微信缓存的地址就不会变,这时候去做wxconfig时候的提交url和访问url就会不一致导致注册失败。 从这个原理上要解决方案就2个方向,要么针对用了<wx-open-launch-weapp>的页面,不要使用vuerouter跳转页面,可以使用window.location.href这种刷新页面的方案去跳转。或者可以尝试下,在IOS里,注册wxconfig时提交的URL不要是当前的路由,而是进入的第一个页面的路由。
wx-open-launch-weapp 部分机型需要二次刷新才显示?机型:iphone6 plus 系统版本:ios12.3.1 微信版本:7.0.12 实现主逻辑: <view class="wx" v-html="html"> </view> async buildHtml() { await SystemApi.getWxReady() this.html = `<wx-open-launch-weapp id="launch-btn" username="gh_91308c52e480" path="pages/home/index.html"> <template> <button class="btn">打开小程序</button> </template> </wx-open-launch-weapp>` }
2023-01-10IOS微信会缓存首次页面地址,如果是单页面,使用vuerouter去更改路由的话,不会刷新页面。微信缓存的地址就不会变,这时候去做wxconfig时候的提交url和访问url就会不一致导致注册失败。 从这个原理上要解决方案就2个方向,要么针对用了<wx-open-launch-weapp>的页面,不要使用vuerouter跳转页面,可以使用window.location.href这种刷新页面的方案去跳转。或者可以尝试下,在IOS里,注册wxconfig时提交的URL不要是当前的路由,而是进入的第一个页面的路由。
使用<wx-open-launch-weapp>,页面打开时路由自动跳转,按钮会失效?VUE框架下的HTML5页面,vue-router,当第一次进入页面,且未带有路由信息时,按路由配置自动跳到指定页面。 这个跳转动作,会导致页面wx-open-launch-weapp>按钮失效,且不触发ready事件。 但路由跳转完成后,刷新一次页面按钮即可恢复。 wx-open-launch-weapp>按钮为动态创建。 做了以下场景验证: vue-router: hash路由,跳转发生hashchange,url变化,必现。vue-router: history路由,replaceState进行queryParams的encode,url变化,必现。react-router: hash路由,同vue-router:hash,必现。window.location.href重定向,必现。整体看起来,只要url发生变化,wx-open-launch-weapp>按钮就会失效。 请问是什么原因? 谢谢,盼复。
2023-01-10