浏览器/标签页关闭显示确认信息,例如“退出”和“取消”

时间:2018-08-17 06:43:13

标签: javascript jquery

当用户离开标签页或浏览器关闭时,如“继续”或“退出”,显示确认框。

我也尝试了window.onUnload事件,但是没有用。

但是此事件仅调用一次。第二次,它不执行功能

var areYouReallySure = false;
var internalLink = false;
var allowPrompt = true;

function areYouSure() {
  if (allowPrompt) {
    if (!areYouReallySure && !internalLink && true) {
      areYouReallySure = true;
      var ConfMsg = "click Cancel"
      return ConfMsg;
    }
  } else {
    allowPrompt = true;
  }
  //}
}
//var allowPrompt = true;
window.onbeforeunload = areYouSure;

如何为重新加载和取消按钮编写代码,提示出现在屏幕上?

1 个答案:

答案 0 :(得分:1)

onbeforeunload函数将在您尝试关闭未单击按钮的选项卡时调用。

在您使用此areYouReallySure变量的代码中。因此,第一个是false可以正常工作,但是在if条件中设置为true之后。这就是为什么它不起作用的原因,因为第二次不返回任何内容。

window.onbeforeunload = funcRef
  • funcRef 是对函数或函数表达式的引用。
  • 该函数应为事件对象的returnValue属性分配一个字符串值,并返回相同的字符串。

WindowEventHandlers.onbeforeunload事件处理程序属性包含发送beforeunload时执行的代码。当窗口即将卸载其资源时,将触发此事件。该文档仍然可见,该事件仍然可以取消。


代码片段

//This function will call on before close tab
function areYouSure() {
  return "You have made changes, are you sure you would like to navigate away from the page?"
}

window.onbeforeunload = areYouSure;