读书人

捕杀页面的关闭按钮并执行退出函数

发布时间: 2012-11-23 22:54:33 作者: rapoo

捕捉页面的关闭按钮,并执行退出函数

了不使用者在有按下[登出]就IE或者按下回上一系造成使用者的登入留,我希望能藉由抓到使用者系或者按下IE [X]的候,清除使用者的登入。

功能我想好多人了,我一下怎做,先我怎抓到使用者要目前的面呢?我可以透javascript的beforeonunload跟onunload事件:

print?

按下OK的就回到上一,按下Cancel的就中止回上一的作,而按下[X]要窗,也出同的息,不候我,我按下F5,息也跳出耶,怎?不能我刷新一下,就要我登出了吧?我候可以做:

print?print?print?01var isAltF4 = false; 02//用判是否按下[X] 03var isXClose = false; 04window.onbeforeunload = bunload; 05??06function bunload() 07{ 08????if (event.clientY < 0 || isAltF4 ) 09????{ 10????????mess = "定?"; 11????????//代表是真的按下[X] 12????????isXClose = true; 13????????return mess; 14????} 15} 16??17function document.onkeydown(){ 18????if ((window.event.altKey)&&(window.event.keyCode==115)) 19????{ 20????????isAltF4 = true; 21????????bunload(); 22????} 23????else24????{ 25????????isAltF4 = false; 26????} 27} 28??29//真的,要logoutUser 30window.onunload = logoutUser; 31function logoutUser() 32{ 33????//多判是不是按下[X],是的才做登出 34????if (isXClose) 35????{ 36?????????try37?????????{? 38?????????????var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");? 39?????????????xmlhttp.open("POST","Logout.aspx", false); 40?????????????xmlhttp.send();? 41?????????????return true; 42?????????} 43?????????catch(e) 44?????????{ 45?????????????alert('delete user account error message:' + e.message); 46?????????} 47?????} 48}

多抓onunload事件,行登出作,我用了一isXClose判是否按下[X],在不使用if (event.clientY < 0 || isAltF4 )判的原因是在事件中,抓到的event.clientY已bunload中不同了,法使用的做法,因此我就多做了一道功夫完成。

例可以work的重在於beforeonunload事件onunload事件的序原,我在beforeonunload事件是窗卸前的事件,在可以定是否onunload的窗事件,但在onunload的部分已法限制窗是否,因它已始窗了。

读书人网 >Web前端

热点推荐