jquery mobile中历史记录history的执行机制

时间:2021-05-04 09:05:03

在jQueryMobile中, 在同一域名下的所有页面链接都会自动转成AJAX请求,使用啥希值来指向内部的链接页面,通过动画放果实现页面间的切换。

由于其使用ajax,而ajax可能会造成的一个结果就是对浏览历史的后退功能造成影响,所以存在对jqm浏览历史的操作需求。


jquery mobile中历史记录history的执行机制

比如说这样一个需求,当我在newsub.html页面点击添加按钮后,这条信息消失,页面转跳到自身进行刷新,而这个过程我不希望记录到浏览器历史中,即我点后退不会再次跳转到此页面,再点击后退才跳转到其上级页面;而是直接跳转到其上级页面。其解决方法是:

$.mobile.changePage(window.location.href, {
allowSamePageTransition: true,
transition: 'none',
reloadPage: true,
reverse: false,
changeHash: false
});

注意 reverse:false changeHash: false

 

另外,还有history.pushState()history.replaceState()等方法,暂时还没有使用,留坑