Javascript window.history.pushState 未检测到浏览器刷新按钮

Javascript window.history.pushState is not detecting the browser refresh button

我正在尝试刷新 window.history.pushState url,它使用 F5CTRL+5 刷​​新页面,但是当我按下浏览器的刷新按钮时,出现错误。

F5/CTRL+F5 甚至浏览器刷新按钮会像 http://www.dddd.com/myrealpath/test/ 一样刷新真正的 url 但在 history.pushState 之后 F5/CTRL+F5 会刷新 http://www.dddd.com/myrealpath/test/1/done/使用状态技巧。

但是浏览器刷新按钮没有刷新http://www.dddd.com/myrealpath/test/1/done/,它给出了Object not found!的错误。

需要帮助。谢谢

path = window.location.pathname;
  
window.history.pushState(null, null, path+"1/done/");

if (performance.navigation.type == 1) {
    window.history.pushState(null, null, path+"1/done/");
}

$(document).on('keydown', function(event) {
    
    if (event.ctrlKey && (window.event.keyCode == 116)) {
        window.history.pushState(null, null, path);
    }
    if (window.event.keyCode == 116) {
        window.history.pushState(null, null, path);
    }
    
    if (event.ctrlKey && (event.keyCode == 123 || event.keyCode == 117)) { 
        window.history.pushState(null, null, path);
    }

});

我通过执行下面的操作发现它现在浏览器刷新按钮也可以正常工作。

//master path - original path
path = window.location.pathname;

//Redirectss original path to this
window.history.pushState(null, null, path+"1/done/");

jQuery(window).bind("unload", function() { //
    window.location.href = path; // original path
});