繁体   English   中英

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

[英]How can I force scripts to finish before leaving the page (in webkit browsers)?

在FireFox,IE和Opera中,这已经可以很好地工作了,但是在Chrome和Safari中,这是一个问题。 我在离开页面的链接上具有onClick事件函数。 这些功能将请求发送到各种跟踪服务以记录退出链接。

我已经通过删除链接中的href属性进行了测试。 删除后,将跟踪链接。 链接处于活动状态(并远离页面)时,不会跟踪该链接。 仅在Chrome和Safari中是这种情况。

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

jQuery已经在该项目中加载,因此,如果有解决方案,那就太好了。

感谢您的所有建议

Google Analytics _trackPageView不提供回调,因此您没有简单的方法来获取成功的回调,然后继续下一页。 _trackEvent上有一个回调,并且每次发生某些GA事件时都会触发该回调。 您可以尝试这种方式并像这样监听它(确保将href放回链接中-这取决于在那里是否存在,并且您会得到正常的降级):

$(".myLinkClass").click(function(e){
    e.preventDefault();
    var link = $(this).attr('href');
    pageTracker._trackPageview('/outbound/'+link);
    if (pageTracker._trackEvent("Outbound", "URL", link)) {
       window.location = link;
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM