我正在创建自己的简单统计数据来记录阅读了哪些页面以及阅读了多长时间等。
然后我使用ajax调用将信息记录在数据库中,它使用window.ONBEFOREUNLOAD事件工作,但是这会为访问的每个页面创建一个数据库记录,而是我想将页面统计信息保存到js变量然后只做1当访问者最终离开站点时调用 ajax。
有没有一种方法可以使用纯 javascript 创建事件侦听器来检测用户何时离开网站,也许是通过评估身体的点击事件?
我正在创建自己的简单统计数据来记录阅读了哪些页面以及阅读了多长时间等。
然后我使用ajax调用将信息记录在数据库中,它使用window.ONBEFOREUNLOAD事件工作,但是这会为访问的每个页面创建一个数据库记录,而是我想将页面统计信息保存到js变量然后只做1当访问者最终离开站点时调用 ajax。
有没有一种方法可以使用纯 javascript 创建事件侦听器来检测用户何时离开网站,也许是通过评估身体的点击事件?
不。
默认情况下浏览器不可能提供这样的事件:浏览器本身不知道包含整个站点的内容,因此浏览器不可能知道用户何时离开站点。
用 JavaScript 自己实现解决方案很容易。实施容易,解决难。
您需要考虑如何判断用户何时离开您的网站。你如何定义退出点?你能定义退出点吗?这是一个不平凡的问题。我不确定是否存在解决方案。
方法一:
尝试onbeforeunload
事件:在页面卸载前触发
它还允许您询问用户是否真的想离开。
看这个演示
或者,您可以在他离开时发送 ajax 请求。
方法二:
`if(window.screenTop > 10000) alert("窗口关闭"); 别的 警报(“窗口仍然打开”);`
方法3: 见这篇文章。您正在寻找的功能是onbeforeunload
示例代码:
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?";
}
</script>
此答案中的所有信息都可以在 StackOverflow.com 上找到