1
正確執行我想跟蹤我的網頁上針對AdSense元素的點擊次數。爲了實現這個目標,我把焦點的窗口對象,如果它失去焦點,我檢查如果鼠標是在AdSense的iFrame的區域。然後我再把焦點放回窗口。
這工作。但是在Chrome中它只能運行一次。所以,如果我點擊AdSense廣告(在新標籤中打開),然後我點擊一個又一個,該事件不會再觸發。
如果我在控制檯中執行$(window).focus(),onBlur事件再次觸發 - 但是在我的代碼中執行的$(window).focus()不會顯示任何效果。我用Timeout也試過了,沒有成功。
任何想法?
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