我刚开始写window.onunload=function(){}但是发现当一个页面跳转到另一个页面时也触发的我只想关闭tab的时候触发怎么做

解决方案 »

  1.   


    貌似不是我按照网上的window.onbeforeunload = function() { 
    if (window.event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) 
    {
    document.cookie = 'state=0';
    }
    }也只能是在全部关闭的时候有用,,当关闭选项卡的时候再打开cookie还是没有归零
      

  2.   

    window.onunload
    顾名思义都知道是window(也就是页面)卸载时触发,跳转页面时当然是会触发的了,至于关闭浏览器选项卡,那是浏览器的行为,选项卡关闭,页面当然也会卸载,同样会触发该事件。你想让该事件分辨卸载是由跳转引起还是关闭引起么???只能说不能,js的作用域只是页面区域,管不到浏览器的行为。
    可以变通一下,页面跳转由代码来触发,跳转时就把window.onunload事件清除不就ok了?