Javascript windows.onbeforeunload-是否有方法在离开/停留前调用函数?

Javascript windows.onbeforeunload-是否有方法在离开/停留前调用函数?,javascript,html,onbeforeunload,Javascript,Html,Onbeforeunload,我想问他是否真的想离开youtube视频播放的页面。但在问“你确定要离开页面吗?”之前,我想暂停视频。 我尝试使用这段代码(而不是暂停视频,我只是在一个div中写一些东西),但是div的内容只有在用户决定留在页面上后才会改变……有办法修复它吗 <script> var confirmOnLeave = function(msg) { window.onbeforeunload = function (e) {

我想问他是否真的想离开youtube视频播放的页面。但在问“你确定要离开页面吗?”之前,我想暂停视频。 我尝试使用这段代码(而不是暂停视频,我只是在一个div中写一些东西),但是div的内容只有在用户决定留在页面上后才会改变……有办法修复它吗

    <script>
        var confirmOnLeave = function(msg) {
            window.onbeforeunload = function (e) {          

                e = e || window.event;
                msg = msg || '';
                document.getElementById('test').innerHTML = 'stop'; 
                // For IE and Firefox
                if (e) {e.returnValue = msg;}

                // For Chrome and Safari
                return msg;
            };

        };
        confirmOnLeave('Are you sure to leave the page ?');
    </script>
   <body>
    <div id='test'> a </div>
    </body>

var confirmOnLeave=函数(msg){
window.onbeforeunload=函数(e){
e=e | | window.event;
味精=味精| |'';
document.getElementById('test').innerHTML='stop';
//适用于IE和Firefox
如果(e){e.returnValue=msg;}
//用于Chrome和Safari
返回味精;
};
};
confirmOnLeave('您确定要离开页面吗?');
A.
jsfiddle:

谢谢,

没有--“按设计工作。”

回到过去,很多网站会滥用
onbeforeuload
来做一些事情,比如重新加载当前页面,打开一系列弹出窗口,或者干脆取消导航

现在,你可以做一个半可控的动作。使用Javascript,您可以连接到页面上的每个
链接
,打开对话框询问他们想做什么。这可能会满足您的一些需求,但不会满足人们打开书签、单击
后退
按钮或键入新URL的需求