相同域的情况下,H5控制页面返回

在app中一般是native提供方法实现页面的跳转,如果native不提供方法,H5如何来实现返回到上两个页面(因为有些页面的操作完成之后不能再来操作)

ps:location.repalce(a.html),不会在浏览器历史记录中录入这次访问a.html的记录,当点击左上角返回时,没有任何反应,浏览器中查看,返回键是置灰的。在app中,左上角的返回键如果隐藏掉是最好,如不能,就会造成一个可返回的假象,不符合实际需求

H5新特性中新增了,history.pushState()、  history.replaceState(),两个的参数如下:

1、state:存储json字符串,可以用在popstate事件中

2、title:现在大多数浏览器不支持或者忽略这个参数,最好用null代替

3、url:任意有效的url,用于更新浏览器的地址栏,不会重载页面

pushState()是在history栈中添加一个新的条目

replaceState()是替换当前的url记录

为了解决上述的问题,可以用replaceState,将不想返回的页面地址(2)被下一个页面(3)替换掉,那当从3返回时,直接到1

ps:获取页面来源  document.referrer()

原文地址:https://www.cnblogs.com/tiantianxiangshang33/p/7607510.html