首页 > 解决方案 > Javascript 确认在 chrome 中立即关闭

问题描述

此代码在 Firefox 和 IE 中正常工作,但在 chrome 中,javascript 确认窗口仅显示一秒钟并立即关闭(并运行 else 语句将某人从页面中发送出去)

Chrome 中的这段代码有什么问题?

var alerted = '';

if (alerted != 'yes') {
  if (confirm("Accept?")) {
    localStorage.setItem('alerted', 'yes');
    //box.checked = true;
  }
  else {
    window.location.assign('https://www.example.com/previous-page/');
  }
}

标签: javascriptgoogle-chromeconfirmwindow.location

解决方案


这是 Google Chrome 的预期行为: Javascript : Alert Box dismissed when tabsswitched。每个浏览器都以confirm()不同的方式处理对话框。

当您更改窗口的位置时,警报会立即消失。我建议将您的确认写为带有<button>元素的 HTML 节点。这将防止不同浏览器之间的任何差异。


推荐阅读