Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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函数,在离开页面时执行,不提示用户_Javascript_Jquery_Prompt_Onbeforeload - Fatal编程技术网

Javascript函数,在离开页面时执行,不提示用户

Javascript函数,在离开页面时执行,不提示用户,javascript,jquery,prompt,onbeforeload,Javascript,Jquery,Prompt,Onbeforeload,我正在寻找一个javascript函数,该函数在用户离开页面时执行,类似于onbeforeunload函数,但我不希望用户收到对话框通知该函数执行操作但不显示对话框 window.onbeforeunload = function(){ console.log('something'); } 正如David所写,将数据发送到服务器无法可靠地工作。但是,您可以将事件处理程序附加到所有链接,阻止默认操作,等待服务器响应,然后触发用户的缩进导

我正在寻找一个javascript函数,该函数在用户离开页面时执行,类似于
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
。然后不返回消息?为什么要这样做?是否要将数据发送到服务器?如果是这样的话,请谨慎行事。