页面关闭问题
当点击右上角关闭页面:执行 window.onbeforeunload{后台页面方法aa()} ,此时aa()方法执行
当右键点击标题栏选择关闭此页面时:执行 window.onbeforeunload{后台页面方法aa()} ,此时aa()方法却不执行
麻烦大家给看看。。。。。。。。
[解决办法]
不清楚你说的什么问题?
[解决办法]
看看这两种关闭方法有木有区别,如果木有区别的话,很难吧 估计!
[解决办法]
你用window.onbeforeunload这个来判断用户的关闭动作,势必不会很精确,用户关闭浏览器的场景很多,比如直接从任务栏里面点右键关闭,或者用户直接把电脑给关闭了,没有关闭浏览器。
[解决办法]
- JScript code
function window.onbeforeunload() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) { // alert("点关闭按钮"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //用户点击任务栏,右键关闭。s或是按alt+F4关闭 else if(event.clientY > document.body.clientHeight || event.altKey) { // alert("任务栏右击关闭"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //其他情况为刷新 else { // alert("刷新页面"); } } <body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" ></body><script language="JavaScript" type="text/javascript"> var DispClose = true; function CloseEvent() { if (DispClose) { return "是否离开当前页面?"; } } function UnLoadEvent() { DispClose = false; //在这里处理关闭页面前的动作 }</script>
[解决办法]
后台页面方法aa() ?难道是aspx.cs里面的方法?
这个你不能掉吧。如果需要掉用可以使用ajax的方法,然后去执行aa()方法。返回一个结果。
[解决办法]
MARK下
[解决办法]
我的思路是在前台用js做一个定时器,通过ajax定时的更新用户当前的在线时间,如果用户退出系统(不管是点按钮退出或是点浏览器的X退出或是其他情况),那自然就不会再执行这个定时器操作了,定时器最后更新的用户在线时间,就是用户退出时间了。
[解决办法]
或者换一种思路,前台还是定时给后台发消息,后台建立一个监听,接收前台发送的消息,一旦浏览器关了,监听不到前台发送的消息,那么就执行事先准备好的方法。