无论里面的路由层级进入到多少了,一按安卓的虚拟返回键或者手势返回都直接关闭 webview,回到 App 了,iOS 没有出现,只有 Android 这样,路由用的是 hash 模式,是路由模式的原因吗?
1
HongJay Sep 17, 2020
需要原生处理
|
2
yikuo Sep 17, 2020 via Android
是因为 Android 的 app 没有处理返回事件
|
3
gromit1337 OP |
4
OHyn Sep 17, 2020 via Android
客户端的问题,可以处理。
|
5
fansangg Sep 18, 2020
叫 Android 重写 onbackpressd 判断是否可以 back
|
6
pultako Sep 18, 2020
原生拦截 back 按键也就几行代码的事情
|
7
gromit1337 OP |
8
Nuttertoo1s Sep 18, 2020
@gromit1337 还是交给原生做吧,很快的。webview 有接口能判断网页是否可以返回,然后配合拦截 back 按键可以实现不错的效果体验
|
9
koor Sep 18, 2020
单页应用这个要原生处理的,因为只有一个 webview,关了就没了
|
10
OHyn Sep 18, 2020
@gromit1337 不行,这是那个返回按钮的定义问题,无论是 history mode or hash mode,都是往 history 里加记录罢了,阻止不了这个返回按钮的行为。
|
11
96412hj Sep 18, 2020
估计客户端不想做,可能有历史遗留问题,也可能是💩山
|
12
gromit1337 OP @96412hj #11 是的!最后我还是苦逼的改成一个个 html 页面了!
|
13
96412hj Sep 19, 2020
@gromit1337 #12 你还是太好说话了,你就咬定是客户端的问题,前端可以改,但是得花费很长时间,安卓只需要加几个判断,甩给他
|