我希望在用户离开特定页面时执行此功能。此函数将基本上更改数据库中某列内的所有数据。因此,如果用户离开此页面,我希望系统执行此功能。有没有办法检测用户是否已离开页面。
谢谢!
答案 0 :(得分:5)
100%的可靠性,不,这是不可能的。由于离开特定页面是客户端操作,因此您无法控制客户端执行的操作。您可以通过Javascript注册onbeforeunload
处理程序,并希望客户端浏览器支持它。但同样,对此的支持并不普遍。
答案 1 :(得分:1)
你不能使用PHP,因为它是服务器端语言。 您需要使用JavaScript。
答案 2 :(得分:1)
你不能在php中这样做但你可以使用javascript函数onbeforeunload,这里是example
<script type="text/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>
答案 3 :(得分:1)
由于服务器端php只运行服务器脚本,然后将结果发送到浏览器,因此单独使用php无法执行此操作。您可以使用javascript使用onunload事件向您的php脚本发送ajax请求,然后运行php脚本以响应该请求。
答案 4 :(得分:1)
要涵盖用户离开特定页面导航至同一网站内另一个页面的情况,您可以尝试使用页面ID来实现,将“ page_to_be_left”的ID存储在会话变量中,然后检查是否当前页面ID与会话var中存储的页面ID匹配。 如果没有匹配项,则可能会触发您的功能。