求助!!在微信浏览器中打开一个页面,需要记录用户在这个页面的访问时长。
$(function(){
    pushHistory();  
    var bool=false;  
    setTimeout(function(){  
          bool=true;  
    },1500);  
    window.addEventListener("popstate", function(e) {  
      if(bool)   {  
                alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能  
        }  
        pushHistory();            
  }, false);  
}); 
现在用的是这段代码,但是这个事件点击一次还是在本界面,要点击两次才能退回到对应的界面,并且只能在返回时才能统计,现在如果在这个页面上点击一个链接进入下个页面就统计不了了。 所以求助该怎么解决这个问题

解决方案 »

  1.   

    要用 onbeforeunload 事件,不过要注意大多浏览器在这个事件中是不允许alert()弹出对话框的。
      

  2.   

    微信浏览器好像不支持 onbeforeunload 。 因为这个事件没反应@#2
      

  3.   

    不是这个事件没反应,是反应后立即换页面了,看不到反应的结果。
    统计用户访问页面的时长是做什么用的?
    如果要保存到服务器的话要用同步的ajax提交。
    如果要给用户看的话是没办法的,因为会立即换页面,也不允许alert()弹出对话框。
      

  4.   

    我在这个事件后加了个Ajax,但是这个Ajax都没执行。相同的代码如果在pc上运行 这个事件是可以执行的,但是换成微信浏览器就不能执行了,Ajax也没发送成功。所以我只能得到微信浏览器不兼容这个事件不是这个事件没反应,是反应后立即换页面了,看不到反应的结果。
    统计用户访问页面的时长是做什么用的?
    如果要保存到服务器的话要用同步的ajax提交。
    如果要给用户看的话是没办法的,因为会立即换页面,也不允许alert()弹出对话框。