Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onbeforeunload期间允许执行哪种操作_Javascript - Fatal编程技术网

Javascript onbeforeunload期间允许执行哪种操作

Javascript onbeforeunload期间允许执行哪种操作,javascript,Javascript,我决定在弹出确认退出对话框之前执行一些代码 然而,onbeforeunload的行为相当令人费解。某些操作是允许的,而某些操作是不允许的 function dummy() { alert('123'); // Not allowed. Blocked alert('123') during beforeunload console.log('123'); // Allowed. navigator.vibrate(1000); // Doe

我决定在弹出确认退出对话框之前执行一些代码

然而,
onbeforeunload
的行为相当令人费解。某些操作是允许的,而某些操作是不允许的

function dummy() {
    alert('123');            // Not allowed. Blocked alert('123') during beforeunload
    console.log('123');      // Allowed.
    navigator.vibrate(1000); // Doesn't work in my chrome mobile.
    return "do you exit";
}

window.onbeforeunload = function() {
    return dummy();
}
我在想,为什么会有这样的行为?有关于这种行为的文件吗


在返回弹出字符串之前,是否有克服navigator.vibrate上的限制的方法?

我想您会发现Mozilla开发网络

引述:

自2011年5月25日起,HTML5规范规定,在此事件期间可能会忽略对window.alert()、window.confirm()和window.prompt()方法的调用

至于原因,米格尔在评论中很好地指出,不应该允许网站积极阻止你离开页面


navigator.vibrate
是一种基于时间的功能。“振动x毫秒”。当窗口卸载时,它不希望用户必须等待任何东西。您可能会找到解决方法,但我怀疑它会被修补,因为这不是理想的功能。

我想您会发现Mozilla开发网络

引述:

自2011年5月25日起,HTML5规范规定,在此事件期间可能会忽略对window.alert()、window.confirm()和window.prompt()方法的调用

至于原因,米格尔在评论中很好地指出,不应该允许网站积极阻止你离开页面

navigator.vibrate
是一种基于时间的功能。“振动x毫秒”。当窗口卸载时,它不希望用户必须等待任何东西。您可能会找到解决方法,但我怀疑它会被修补,因为这不是理想的功能。

为什么这么简单。为什么有人希望网站积极阻止你离开他们?为什么这个问题很简单。为什么有人希望网站积极阻止你离开他们?