history.go()和history.back(),history.go()不刷新

history.go()和history.back(),history.go()不刷新

history.back()

back():加载history列表中前一个url,原页面表单内容保存,即后退

history.go()

go():加载history列表中的某个具体页面,即后退或前进+刷新

区别:

history.go(value)会前往任何一个页面;但是history.back()不管括号内传入什么参数,都只会返回上一次刷新的页面,而不能进行多次跳转

history.go(-1)不刷新

//html
<img src="./picture/left.png" alt="" onclick='sessionStorage.setItem("refresh", "true");history.go(-1);'>
//js
//强制刷新页面
window.addEventListener('pageshow', function(event) {
    
    
    if(event.persisted) {
    
     
        location.reload();
    } else {
    
     
        if(sessionStorage.getItem('refresh') === 'true') {
    
    
            location.reload();
        }
    }
    sessionStorage.removeItem('refresh');
});

补充:

pageshow事件(给window添加):这个事件在页面显示时触发,无论页面是否来自缓存。在重新加载的页面中,pageshow会在load事件触发后触发;

persisted:是pageshow事件的event对象包含的布尔值属性

对于pageshow事件,如果页面是从bfcache(往返内存)中加载的,则这个属性的值为true;否则,这个属性的值为false。

猜你喜欢

转载自blog.csdn.net/m0_63338686/article/details/125860314