当用户通过iPhone,iPad或Android设备访问我的网站时,如果他们按下“主页按钮”,则blur
和beforeunload
事件都不会被触发。我无法记录他们一直在阅读显示内容的时间,因为服务器从未得到通知(通过事件的ajax调用)。
在桌面计算机上,它按预期工作,而在移动设备上,只有当他们关闭浏览器(实际上是杀死它)或点击链接时它才有效。问题是通过主页按钮“缩小”它。这里有事可做吗?
function notifyEndReading() {
if (readingId != null && !endReading) {
$.ajax({
url: "{% url 'end_read_content' %}",
type: "post",
data: {"id": readingId},
async: false,
success: function() {
endReading = true;
}
});
}
}
$(window).blur(function() {
notifyEndReading();
});
$(window).on('beforeunload', function() {
notifyEndReading();
});