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