내 페이지의 애드 센스 요소에 대한 클릭 수를 추적하고 싶습니다. 이를 달성하기 위해 창 개체에 포커스를두고 포커스가 사라지면 마우스가 애드 센스 iFrame 영역에 있는지 확인합니다. 그런 다음 초점을 다시 창에 둡니다.
이것은 작동합니다. 하지만 크롬에서는 한 번만 작동합니다. 따라서 새 탭에서 열리는 adSense 광고를 클릭 한 다음 다른 광고를 클릭하면 이벤트가 더 이상 발생하지 않습니다.
콘솔에서 $ (window) .focus()를 실행하면 onBlur 이벤트가 다시 발생하지만 내 코드에서 실행 된 $ (window) .focus()는 아무런 영향을 미치지 않습니다. 나는 성공하지 않고 타임 아웃으로 시도했다.
아이디어가 있으십니까?
trackElements("#contentAdSense, #fallbackAdSense, #sidebarAdSense");
function trackElements (elementsToTrack)
{
var isOverElement = false;
$(window).focus();
$(elementsToTrack).mouseenter(function(e){
isOverElement = e.currentTarget.id;
});
$(elementsToTrack).mouseleave(function(e){
isOverElement = false;
});
$(window).blur(function(e){
windowLostBlur();
});
function windowLostBlur()
{
if (isOverElement)
{
console.log(isOverElement);
$(window).focus();
}
};
}};
간체 버전 : https://jsfiddle.net/327skdns/2/
당신이 바이올린을 만드십시오 수 있도록 우리 크롬을 확인할 수 있니? – Drone
은 단순화 된 버전입니다. -> https://jsfiddle.net/327skdns/2/ – hwechselberg