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