通过浏览器关闭/注销时的JavaScript代码

时间:2012-04-06 11:51:11

标签: javascript

<script type="text/javascript">
    leaveSiteStart = new Date;
    function leftSite() {
        var leaveSiteEnd = (new Date - leaveSiteStart);
        var roundleaveSiteEnd = Math.round(leaveSiteEnd, 1);
        _gaq.push(['pageTrackerTime._trackEvent', 'Category', 'Action', document.getElementById('Name').value]);
    }
    window.onbeforeunload = leftSite;
</script>

我已经使用此代码在关闭浏览器之前激活用户在页面上花费的时间,或者在退出时离开页面。

但它未能抓住事件......代码有什么问题吗?

2 个答案:

答案 0 :(得分:0)

在现代浏览器中捕获用户基本上是不可能的。当FF4问世时,他们打破了使用定时循环暂停退出的方式。

答案 1 :(得分:0)

因为_gaq是异步调用浏览器不会等到调用完成所以尝试进行一些同步调用。

jquery ajax中,您可以通过将async标志设置为false来执行同步任务,检查是否有相同的方法。