Html 有没有办法检查浏览器';s当前历史记录状态条目并更改它们?

Html 有没有办法检查浏览器';s当前历史记录状态条目并更改它们?,html,browser-history,html5-history,Html,Browser History,Html5 History,假设有人来到我的一页。我想如果访问者点击浏览器后退按钮,而不是进入上一页,它会将他们重定向到一个反馈页面,询问退出原因。现在我用下面的方法,是正确的还是有更好的方法 <script type="text/javascript"> window.onpopstate = function (event) { if (typeof event.state !== 'undefined' && typeof event.state.p

假设有人来到我的一页。我想如果访问者点击浏览器后退按钮,而不是进入上一页,它会将他们重定向到一个反馈页面,询问退出原因。现在我用下面的方法,是正确的还是有更好的方法

<script type="text/javascript">
        window.onpopstate = function (event) {
            if (typeof event.state !== 'undefined' && typeof event.state.page_name !== 'undefined' && event.state.page_name == 'third_page') {
                window.location = "html3.html";
            }
        };

        history.pushState({page_name: 'third_page'}, "page 3", "html3.html");
        history.pushState({page_name: 'second_page'}, "page 2", "html2.html");
    </script>

window.onpopstate=函数(事件){
if(typeof event.state!=“未定义”&&typeof event.state.page\u name!=“未定义”&&event.state.page\u name==“第三页”){
window.location=“html3.html”;
}
};
pushState({page_name:'third_page'},“page 3”,“html3.html”);
pushState({page_name:'second_page'},“page 2”,“html2.html”);

通常不赞成更改用户的浏览器预期行为。如果你这样做,我至少会向用户显示一条消息,告诉他们你在做什么,并允许他们正常返回。是的,我也有一个计划,通过退出弹出窗口,允许访问者返回到他们需要的实际页面。但对于这一点,我需要调整历史记录条目,这就是我的问题的原因。这里有人能帮忙吗?你在问这是否“正确”-那么-它会破坏任何东西或导致错误吗?没有人提出过“更好”或“更正确”的方法,我想这意味着答案是否定的,但你不能在上面贴上“不”这样的答案,所以这可能是一个永远不会有答案的问题……实际上我不知道是否有更好的方法来做这件事,或者我正在做的是正确的还是错误的。但是,是的,我的代码不会引起任何错误。我只是在寻找一个合适的方法(如果有的话)。谢谢你的帮助。