我知道这必须用javascript完成。但我不知道该怎么做。
情景:
当用户关闭浏览器时,我会提示他/她是否要留下评论/反馈。如果他/她单击是,则显示(或者可能是window.opn / popup),否则只需正常关闭浏览器。
我尝试使用onload函数,但它在firefox中不起作用
JS
<script type="text/javascript">
function unloadPage()
{
alert("unload event detected!");
}
</script>
HTML
<body onunload="unload();">
我也尝试了onbeforeunload
window.onbeforeunload = test;
function test() {
return "Submit your feedback to us :)";
}
但看起来,它只是像普通的window.alert一样提示。它有“确定”和“取消”按钮。我不能从那里做很多事。
我们可以检查一下,如果用户点击“确定”,我们会执行/重定向/弹出新窗口,如果用户点击取消,我们只关闭浏览器吗?
我总是遇到兼容性问题,有时可以在IE中使用,但不能在FF中使用
答案 0 :(得分:1)
我们可以检查,如果用户点击“确定”,我们执行/重定向/弹出新窗口
使用onbeforeunload并在返回'Do you want blah blah'字符串之前设置超时。如果超时触发,则用户单击“取消”以保留在页面上,您可以采取进一步操作,例如添加表单或执行重定向。弹出窗口通常会被正常阻止。
这是非常不愉快的行为。如果你这样做,你可能会受到严重网络犯罪法案的起诉,并且只有Netscape 4作为浏览器才能承担因死亡或三个月监禁而受到的惩罚。 (我会死的。)