JavaScript:当他们关闭浏览器时,我如何提示自定义消息框



问题:

我是JavaScript新手。我想传达一个信息,比如";你今天有xxx个作品&">
当我的用户关闭broswer时。我在谷歌/stackoverflow上搜索了一些解决方案是否在浏览器关闭前提示用户?

但是,当我尝试以下代码时,它只显示broswer的默认消息,而不是我的。我该如何解决?

代码:

function test(evt) {
var message = 'Did you remember to download your form?';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}

是否有一些对我有用的API或解决方案?

编辑(2021.9.22)我尝试了@NiceBooks发布的技巧,比如

window.addEventListener('beforeunload', function (e) {
window.alert("ready to exit");
window.confirm("just a test");
e.returnValue = '';
});

IE和FireFox会提示默认消息。如果未设置e.returnValue,则单击退出按钮时不会出现提示框。beforeunload说:

'在某些浏览器中,在此事件期间可能会忽略对window.alert()、window.confrm()和window.prompt()的调用。有关详细信息,请参阅HTML规范

也许这就是我失败的原因。但真的没有解决方案吗?

您可以尝试使用window.confirm(msg)函数。

https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm

将其与window对象上的beforeunload事件一起使用:

在MDN 中加载之前

尝试此操作,在head标记中输入以下代码。

<script>
const beforeUnloadListener = (event) => {
event.preventDefault();
return event.returnValue = "Are you sure you want to exit?";
};
//this piece of code will trigger a pupup message
addEventListener("beforeunload", beforeUnloadListener, {capture: true});
</script>

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新