公司的项目里面,要求如果从公司的网页跳转到其他网页、或者关闭浏览器窗口,就要退出登录。
我想问问,是否这两种情况都一定会触发window.onunload这个事件?
但我只想关闭窗口才退出登录,还可以用哪个事件呢?如果不行,我想用截获跳转地址的方法来决定是否退出登录。例如,公司的网页上有其他一些相关单位的链接,但点击之后,我并不想退出登录的,所以,我可不可以在触发window.onunload这个事件的时候,截获并判断是否有跳转地址,如果有跳转地址,就不退出登录。谢谢。

解决方案 »

  1.   

    公司要求,职员登录公司的系统之后,如果关闭浏览器的,就要退出登录。
    于是我用了window.onunload这个事件来触发,跳转到退出系统方法。
    但这个方法,在用户跳转到其他页面的时候,也会退出登录,所以不太好用。我就想问问,有没有其他方法,或者其他事件来触发退出登录的功能。
      

  2.   

      用户登录的时候,你有东西保存吗?是用的cookie还是session保存,如果是用这些东西保存的话就比较好做了,直接清空,然后在你们公司的网站前面加载进来的时候判断下session是否存在什么的,那样就可以实现了,不知道我说的是否符合你的要求
      

  3.   

    这几天,我已经又试过好几个方式了,虽然要解决的问题还是没解决,但又学到了很多新的知识。
    原来,window是没有onclick事件的,document就有,但却不能检测到点击关闭窗口的事件,而且也没有onunload事件。
    在window的onunload事件处理中,却不能象document的onclick()事件那样,通过window.event.srcElement来取得触发事件的对象(值为null)。另外,我想请教一下:
    <body>标签,到底是指window还是document呢?因为<body>标签,既有onclick()事件,也有onunload事件。我还一直以为<body>是相当于document,而整个浏览器窗口,就相当于window哩。
      

  4.   

    window > document > body
    你就给退出按钮帮一个退出事件吧
    登录或者退出
    你可以通过设置cookie来判断
    点退出的时候清cookie,其他情况不清除
      

  5.   


    $("a").click(function(){
       if(this.href!="???"){
          alert("请先退出");
          return false;
       }
    });
      

  6.   

    其实解决方法很简单......
    1.关闭浏览器窗口,就要退出登录。
      如果你用Session保存,那很好,关闭就退出了,如果你用如果cookie,那就要注意cookie的过期时间
    2.所有外部链接的网站,先跳自己的页面
      比如,原来是http://www.csdn.net/
    改成
    out.php?url=http://www.csdn.net/
    out.php里面处理退出登录