2012-04-27 5 views
4

Google Analytics 스크립트를 사용하여 클릭을 추적해야한다고 가정합니다. 내가 그 추적 이벤트를 보장하기 위해 표준 접근 방식은 발사 된 것을 알고 다음과 같이 추적 큐에 계속 전달하고 클릭 이벤트 핸들러에서 false를 반환하는 것입니다동기식으로, Google Analytics 추적 요청이 실행되었는지 확인하는 방법

$('a').click(function() { 
    var url = $(this).attr('href'); 
    _gaq.push(['_trackEvent', smth]); 
    _gaq.push(function(){ document.location = url ;} 
    return false; 
}); 

내 문제는 내가이 링크를 열고 자하는 것입니다 새 탭.
내 완벽한 솔루션은 target = "_ blank"이지만 javascript로는 할 수 없습니다.
window.open (url, '_ blank')은 firefox를 제외한 모든 브라우저에서 새 창을 팝업하며이 창은 일반적으로 기본적으로 차단됩니다.
즉, 은 클릭 핸들러에서 true을 반환해야합니다.

그래서 이것이 내가 추적 스크립트에서 픽셀 추적을 요청할 때 어떤 방법 으로든 동 기적으로 기다려야하는 이유가 내 이유입니다. 어떤 종류의 What is the JavaScript version of sleep()? 기능이 나를 도울 수 있습니까?

감사합니다.

답변

7

방문자가 새 페이지로 이동하기 전에 추적 픽셀을 해제해야하는 유일한 이유는 동일한 창 내에서 새 페이지로 연결되는 링크입니다.. 즉, 현재 윈도우가 언로드되기 전에 추적 코드가 해당 작업을 수행하는지 확인하려고합니다.

링크가 새 창을 여는 경우 ... 새 창을 여는 방법에 관계없이 ... 현재 창을 언로드하지 않기 때문에 이런 종류의 것에 대해 걱정할 필요가 없습니다.

+1

하하! 나는 어리 석다, 나는 알고있다 :) 고마워! – IlliakaillI

+0

나는 똑같은 일을했다. 내 링크가 희박하지 않은 것으로 생각하고 있습니다. +1 –

관련 문제