当用户离开我的网站或关闭浏览器或在地址栏中输入任何其他 url时,我想删除图像。
问问题
133 次
4 回答
2
您无法捕获用户选择离开网站的时间。您最好在某处记录他们上次从会话中访问您的网站的时间,并在一段时间后进行某种 cron 工作来清除他们的图像。
于 2012-12-01T10:39:08.573 回答
0
这很难实施。没有正确的方法来检测用户何时离开您的网站。最准确的方法是向您的页面添加一个脚本,该脚本会以较小的间隔定期请求某个 URL。当用户离开时,这个 URL 不再被请求,你意识到用户已经离开了,你可以删除一些东西。
于 2012-12-01T10:41:42.570 回答
0
好吧,我不是一个优秀的 JavaScript Pro,但我认为可能有一个功能可以检查用户是否离开页面。(想想这个不时出现的弹出窗口,你会被问到是否真的要离开这个页面。)你现在检查这个事件(页面离开)是否正在发生,当它发生时,你发送一个 AJAX 请求。您的 PHP 响应删除您的图像。
就像我说的,不确定 Javascript 中的这个函数是否有效。
于 2012-12-01T10:42:37.513 回答
0
您可以在事件上使用 Javascript,onbeforeunload
然后在异步设置为关闭的情况下执行 AJAX 请求,因此它会在用户离开之前“阻止”浏览器
您可以使用 jQuery 进行异步 AJAX 调用,如下所示:
window.onbeforeunload = function(){
$.ajax({
url:"your_delete_script.php",
async:false
});
}
或者您可以即时创建一个图像,其作用类似于执行脚本的信标。
window.onbeforeunload = function(){
var img = new Image();
img.src = "script.php";
}
只要确保你的脚本在那个部分得到了ignore_user_abort
,所以如果用户关闭浏览器它就会独立执行
于 2012-12-01T10:42:47.050 回答