js修改返回到app的记录

有点标题党了,其实无法直接通过js修改返回app的方法。只是一个小技巧。

风平浪静的一天突然测试疾步走来提了一个不知道算不算前端的bug。虽然并不是给我提的,但是我突然想到了一个思路,具体的问题如下:主页面a 可以选择地址,地址列表b, 在a页面跳转到b页面b页面操作完成后跳转回a页面继续操作,需要点击app的返回不能回到b而是直接回到app

思路就是利用 window.history.replaceState 修改当前的URL然后返回的时候就会回到这里修改的URL再这个页面利用a标签返回到app

1.创建一个页面 returnapp.html,用来执行返回到app的

大概代码如下:

const a = document.createElement('a')
a.href = 'youapp://'
a.click()

其实可以对这个页面传不同的参数返回到不同的页面

2.页面跳转前修改当前页面的地址

当在选择完地址之后,修改当前页面的地址到:retutnapp.html

window.history.replaceState(null, null, '/returnapp.html')

操作完成后页面会跳转回a 同时页面b的历史记录会变成/returnapp.html的所以点击app的返回就会回app了。

其实一般来说不会有这样的奇怪的需求

突然想到的一个办法觉得很有意思。😊