Javascript函数,在离开页面时执行,不提示用户
我正在寻找一个javascript函数,该函数在用户离开页面时执行,类似于Javascript函数,在离开页面时执行,不提示用户,javascript,jquery,prompt,onbeforeload,Javascript,Jquery,Prompt,Onbeforeload,我正在寻找一个javascript函数,该函数在用户离开页面时执行,类似于onbeforeunload函数,但我不希望用户收到对话框通知该函数执行操作但不显示对话框 window.onbeforeunload = function(){ console.log('something'); } 正如David所写,将数据发送到服务器无法可靠地工作。但是,您可以将事件处理程序附加到所有链接,阻止默认操作,等待服务器响应,然后触发用户的缩进导
onbeforeunload
函数,但我不希望用户收到对话框通知该函数执行操作但不显示对话框
window.onbeforeunload = function(){
console.log('something');
}
正如David所写,将数据发送到服务器无法可靠地工作。但是,您可以将事件处理程序附加到所有链接,阻止默认操作,等待服务器响应,然后触发用户的缩进导航。这就是Piwik和其他统计工具收集信息的方式 例如:
<script>
$('a').click(function() {
var my_href = $(this).attr('href');
$.ajax({url: 'http://some-url-here', success:function() {
location.href=my_href; // navigate now
}});
return false; // stop default navigation action
});
</script>
$('a')。单击(函数(){
var my_href=$(this.attr('href');
$.ajax({url:'http://some-url-here,成功:函数(){
location.href=my_href;//立即导航
}});
返回false;//停止默认导航操作
});
当然,当用户只是关闭选项卡、填写表单、键入新地址等时,不会触发此操作。请尝试
onunload
事件。另外,我想你的意思是在卸载之前on
。然后不返回消息?为什么要这样做?是否要将数据发送到服务器?如果是这样的话,请谨慎行事。