A页面预加载了B、C两个页面
现在从B打开D,D打开F,F需要跳转到C,并且关闭B、D、F,怎么做?
场景:B为购物车,C为订单页面,从B经过好几个页面(支付渠道很多,不确定会经过哪些页面)支付成功(或失败)后,需要将经历的页面关闭,直接跳转到订单页面,怎么做?
我现在是通过webview.opener(),逐层向前找并关闭,直到找到主页(A),再打开C,感觉有点麻烦,不就一个跳转嘛。。。?
有没有可以获得一个页面所有创建者的方法(父亲、爷爷、爷爷的父亲。。。)?或者用其他方式解决这个问题?
威风的包子 (作者)
感谢关注!但实际情况是当B打开D的时候【关闭自己】不合适,联系我上面举的从购物车购物的例子,用户从B到D后很有可能会返回B重新选择,同理,从D除了可以打开F,还可以选择打开其他页面,用户可能在B-D-F这个流程中会随时back。 只有支付完成后,是自动跳转到F的,此时就需要把之前所有打开的页面都关闭了。
2016-01-07 10:25
maq
好像是有点复杂了,比如存在 D1/D2 和 F1/F2,那么如果实际的操作路径是这样的:
B-D1-F1-D1-B-D2-F2-C
那么,当【打开 C】的时候,需要关闭的就不仅仅是 F2/D2/B,还包括 F1/D1,所以就不只是【父、祖父、曾祖父】这一条线了。
2016-01-07 16:53
威风的包子 (作者)
回复 maq:这个倒不存在,从F1退到D1的时候的时候,F1就是关闭操作(mui.back),同样的从D1退到B的时候,D1也就关闭了。
2016-01-07 17:53
maq
嗯,你说的对。
既然只有一条上溯线,那其实还是比较容易做的,就用你原帖说的方法顺着 opener() 向上找就是了,包装成一个函数调用,也就不麻烦了。只是要设置一下关到哪一级为止。
2016-01-07 18:09
威风的包子 (作者)
恩,我现在就是这么做的。感觉官方应该给出这样一个函数,获取【父、祖父、曾祖父...】直到首页的页面,毕竟我原帖中描述的场景很常见。
2016-01-08 10:34
maq
其实……我越来越有一种感觉,MUI 对 webview 操作的包装并不是很有效,各种应用场景用起来很别扭。正在考虑要不要自己包装一套出来 :)
2016-01-08 11:00