AB两个窗口,A先B后,依次进入同一画面。进入画面后,A不进行操作,B点击按钮,提示对话框。然后切换A,再切回B,期间不作任何处理,B的对话框不显示。
F12发出如下警告:
此页面生成的window.confirm()对话框被取消显示,因为此页面不是前窗口的活动选项卡。
请确保您的对话框是由用户交互触发的,以避免出现这种情况。
如何解决呢
AB两个窗口,A先B后,依次进入同一画面。进入画面后,A不进行操作,B点击按钮,提示对话框。然后切换A,再切回B,期间不作任何处理,B的对话框不显示。
F12发出如下警告:
此页面生成的window.confirm()对话框被取消显示,因为此页面不是前窗口的活动选项卡。
请确保您的对话框是由用户交互触发的,以避免出现这种情况。
如何解决呢
?
该警告是因为Edge浏览器的安全策略,禁止非用户交互触发的对话框。解决方法是在点击按钮时,使用JavaScript的事件监听器来触发对话框,而不是直接调用window.confirm()。例如:
<button id="myButton">Click Me</button>
<script>
document.getElementById("myButton").addEventListener("click", function() {
var result = window.confirm("Are you sure?");
if (result) {
//用户点击了确定按钮
} else {
//用户点击了取消按钮
}
});
</script>
使用事件监听器可以确保对话框是由用户交互触发的,避免出现禁止对话框的警告。