Rya*_*yan 3 javascript jquery onbeforeunload
我正在尝试在用户离开页面时执行帖子查询.我正在使用的代码是
<script type="text/javascript">
window.onbeforeunload = function(){
var used = $('#identifier').val();
$.post('conversation.php?leave=true',{ud:used});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在这里做什么有什么不对吗?我在FF错误控制台中得到的结果只是说没有定义其他非相关函数/变量(因为它们正在卸载).我需要解决的任何提示或指示?
简单的答案是你不能在beforeunload事件中可靠地进行异步AJAX调用,它很可能在它完成之前终止,因为浏览器垃圾收集页面.您可以进行同步调用,如下所示:
$.ajax({
type: "POST",
url: 'conversation.php?leave=true',
data:{ud:used},
async: false
});
Run Code Online (Sandbox Code Playgroud)
请不要这样做,因为它会使您的用户在页面中陷入超过需要的时间并阻止他们离开,从而导致负面体验.请注意,这也会在执行时锁定浏览器,async: false应尽可能避免.
| 归档时间: |
|
| 查看次数: |
2041 次 |
| 最近记录: |