📜  js 关闭前询问 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:22.550000             🧑  作者: Mango

JS关闭前询问 - Javascript

在前端中,当用户要关闭页面或者离开当前页面时,我们通常会提示用户是否确定要离开,以避免数据丢失。这种提示框通常被称为关闭前询问框。

在Javascript中,可以使用window.onbeforeunload事件来实现关闭前询问。当用户关闭页面或离开当前页面时,这个事件会被触发,我们可以在这个事件中弹出关闭前询问框。

下面是一个使用window.onbeforeunload事件来实现关闭前询问框的例子:

window.onbeforeunload = function() {
  return "确定要离开此页面吗?";
}

在上面的例子中,我们定义了一个window.onbeforeunload事件处理函数,在函数中返回询问消息,当用户关闭页面或离开当前页面时,浏览器会弹出一个询问框,询问用户是否确定要关闭页面。

注意:在大多数浏览器中,onbeforeunload事件处理函数返回的询问消息会被忽略,只会显示一个默认的提示消息,例如“确定要离开此页吗?数据可能不会被保存。”。

如果你想定制自己的关闭前询问框,你可以使用window.confirm()方法来替代默认的询问框。

下面是一个使用window.confirm()方法来实现关闭前询问框的例子:

window.onbeforeunload = function() {
  if(!user_leaving) {
    var res = window.confirm("确定要离开此页面吗?");
    if (res) {
      // 如果用户点击了确认按钮,则执行一些操作
    } else {
      // 如果用户点击了取消按钮,则取消关闭页面或离开当前页面的操作
      return false;
    }
  }
}

在上面的例子中,我们使用window.confirm()方法来弹出一个自定义的询问框。如果用户点击了确认按钮,我们可以在回调函数中执行一些操作,例如保存数据或清除缓存。如果用户点击了取消按钮,则返回false,取消关闭页面或离开当前页面的操作。

总之,在Javascript中,使用window.onbeforeunload事件来实现关闭前询问框是一种很方便的方式,它可以帮助我们防止数据丢失,并给用户提供友好的提示信息。