如何知道用户何时离开页面并刷新页面

Sid*_*rth 7 javascript jquery

我想在用户离开页面之前进行AJAX调用(所以基本上在离开页面之前和刷新页面之前)?

如何才能做到这一点.我试图用jQuery搜索一些东西,但没有得到任何东西.

我尝试使用以下代码 -

window.onbeforeunload(function(){alert('before unload');});
Run Code Online (Sandbox Code Playgroud)

但是离开页面(关闭浏览器选项卡)或刷新页面时,警报框永远不会出现.

如何实现这一目标?

Nic*_*tti 7

你应该尝试从jquery 卸载():

$(window).unload(function(){
   //Do your call
   alert('before unload');
  });
Run Code Online (Sandbox Code Playgroud)

oro你可以使用beforeunload事件.你应该测试一下,因为浏览器倾向于以不同的方式改变这些东西.取自jquery文档:

卸载事件的确切处理因浏览器的版本而异.例如,某些版本的Firefox会在跟踪链接时触发事件,但不会在窗口关闭时触发.在实际使用中,应该在所有支持的浏览器上测试行为,并与专有的beforeunload事件进行对比.


She*_*hef 5

$(window).unload(function() {
    alert('Visitor left page');
});
Run Code Online (Sandbox Code Playgroud)

关于ajax调用,你可以这样做,但你必须设置asyncfalse.

$.ajax({
   async: false,
   ...
 });
Run Code Online (Sandbox Code Playgroud)