日期:2014-05-17  浏览次数:20431 次

zendframework如何判断浏览器关闭
function onbeforeunload_handler(){
var n=window.event.screenX-window.screenLeft;
var b=n>document.documentElement.scrollWidth-20;
alert('aaa');
if(b&&window.event.clientY<0||window.event.altKey){
alert('sssss');
}

这个是js的解决办法,我用了,不大好用。 偶尔管用,难道是我用IE9的原因。

还有异常关闭比如电源断掉这种情况,怎么设置10分钟后,进行logout的处理。

请高手帮忙 谢谢

------解决方案--------------------
zend是框架,只是在服务器端运行,怎么会知道客户端的事情,这个问题一直是比较难于解决的问题要通过很多方式来结合使用解决,因为http协议是无状态的,服务器只有当客户端主动去访问才能确认用户是否有效
1、js事件判断
2、登入的session写入数据库,定时检测超过指定的时间未操作定义为已退出
3、写入最后一次访问数据库的时间,定时清理超过一定时间未更新访问时间的用户访问信息
http://topic.csdn.net/t/20030905/16/2228210.html
------解决方案--------------------
个人感觉java和.net是可以做的,但是php很难,原因无外乎是php的机制。
虽然都是服务器端,http也有无连接性,浏览器的js也不是那么靠谱。
但是java和.net都可以作为一个进程在服务器端定时扫,也就是在无请求的时候做处理。但是php不可以。zf是基于php的,自然也不可以。
当然通过memcache或者模拟缓存可以实现。太麻烦。不推荐。