Javascript 如何强制脚本在离开页面之前完成(在webkit浏览器中)?

Javascript 如何强制脚本在离开页面之前完成(在webkit浏览器中)?,javascript,jquery,google-chrome,safari,webkit,Javascript,Jquery,Google Chrome,Safari,Webkit,这在FireFox、IE和Opera中已经很有效,但在Chrome和Safari中这是一个问题。我在离开页面的链接上有一个onClick事件函数。这些函数向各种跟踪服务发送请求,以记录退出链接 我通过删除链接中的href属性来测试这一点。删除链接后,将跟踪该链接。当链接处于活动状态(并远离页面)时,链接不会被跟踪。这只是Chrome和Safari中的情况 我希望有一种非极端的方式,可以迫使浏览器在离开页面之前完成脚本。(极端是指f.inst.使用javascript删除href属性,并在跟踪完成

这在FireFox、IE和Opera中已经很有效,但在Chrome和Safari中这是一个问题。我在离开页面的链接上有一个onClick事件函数。这些函数向各种跟踪服务发送请求,以记录退出链接

我通过删除链接中的
href
属性来测试这一点。删除链接后,将跟踪该链接。当链接处于活动状态(并远离页面)时,链接不会被跟踪。这只是Chrome和Safari中的情况

我希望有一种非极端的方式,可以迫使浏览器在离开页面之前完成脚本。(极端是指f.inst.使用javascript删除
href
属性,并在跟踪完成后手动重定向浏览器)

jQuery已经加载到这个项目中,所以如果它有一个解决方案就太好了


感谢您提供的所有建议

Google analytics\u trackPageView不提供回调,因此您无法轻松获得成功的回调,然后进入下一页。在_trackEvent上有一个回调,每次发生GA事件时都会触发。您可以尝试这样做,然后像这样聆听(请确保将您的href放回您的链接中-这取决于您的链接是否存在,此外,您还将获得优雅的降级):


如果删除href,将如何跟踪它?标签上有“onclick”吗?它是一个标签吗?您可以发布一个示例代码吗?正如我在主要帖子中所说:我有一个与onclick事件函数的链接。该函数只需从Yahoo!调用跟踪代码!网络分析和谷歌分析。它实际上和听起来一样简单,所以确实不需要示例代码。
$(".myLinkClass").click(function(e){
    e.preventDefault();
    var link = $(this).attr('href');
    pageTracker._trackPageview('/outbound/'+link);
    if (pageTracker._trackEvent("Outbound", "URL", link)) {
       window.location = link;
    }
});