Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阻止浏览器中的反向导航,但不阻止使用window.onbeforeunload刷新_Javascript_Jquery_Browser_Navigation_Alert - Fatal编程技术网

Javascript 阻止浏览器中的反向导航,但不阻止使用window.onbeforeunload刷新

Javascript 阻止浏览器中的反向导航,但不阻止使用window.onbeforeunload刷新,javascript,jquery,browser,navigation,alert,Javascript,Jquery,Browser,Navigation,Alert,我试图提醒用户,返回将使他们注销。我在stackoverflow上发现了这个不错的代码,它工作得很好;但是,如果用户刷新页面,我不想提醒用户。代码如下: window.onbeforeunload = function(){ return "Going back will log you out, and lose your information. Are you sure you want to do this?"; }; 我已经禁止使用backspace按钮返回。当用户使用导航返

我试图提醒用户,返回将使他们注销。我在stackoverflow上发现了这个不错的代码,它工作得很好;但是,如果用户刷新页面,我不想提醒用户。代码如下:

window.onbeforeunload = function(){
    return "Going back will log you out, and lose your information. Are you sure you want to do this?";
};
我已经禁止使用backspace按钮返回。当用户使用导航返回箭头、鼠标按钮或页面刷新时,此代码会提醒用户。我希望警报能够显示除页面刷新之外的所有内容。

您可以使用onpopstate:


是否已检查Window.onpopstate事件?对于向后兼容性history.js库,使用Window.onpopstate(位于:的示例)对Chrome非常有效,但在Netscape或IE中不适用。尚未测试Firefox。我上传了history.js并尝试了一下,后来的两个浏览器会弹出三次,这很烦人。这是jsfiddle:也是指向外部资源的history.js文件的链接。NeedToConfig条件是可选的,当输入被更改时设置为true:$。阻止未保存的数据-js:input。在“更改”上,函数{NeedToConfig=true;};
var unsavedData = "Going back will log you out, and lose your information. Are you sure you want to do this?";

window.onpopstate = function askConfirm() {
  if (needToConfirm)
    return unsavedData;
}