如何解决使用应用内浏览器后,Ionic3 setRoot 无法正常工作
不幸的是,我需要处理一些使用 Ionic v3.9.5 的遗留代码,升级不是一种选择,所以请耐心等待。情况如下:
- 用户在
root page
上,点击一个按钮将他们带到page A
- 在
page A
上,用户点击打开应用内浏览器的不同按钮 - 在 IAB 中,用户执行一些与付款相关的操作,然后服务器重定向到结果页面。
- IAB 使用
loadstart
事件检测此 URL,并将用户重定向到根页面(使用setRoot
对其进行设置) - 页面的行为很奇怪。单击标题中的按钮不会打开子菜单,但如果我使用滑块轮播,它会打开它。有时其他项目无法正确呈现。
这是 page A
相关代码:
const browser: any = this.iab.create('https://www.google.com','_blank',{
hardwareback: 'no',location: 'no',zoom: 'no',fullscreen: 'yes'
});
let subscription;
subscription = browser.on('loadstart')
.subscribe(event => {
// for test,if the URL contains the word "youtube",we will redirect to the RootPage
if (event.url.indexOf('youtube') > -1) {
subscription.unsubscribe();
browser.close();
this.navCtrl.setRoot('RootPage');
}
});
还有一个汉堡菜单,其中包含链接到 root page
的项目。如果我从任一页面点击它(即使它被弄乱了),一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。