1
ページのAdSense要素のクリックをトラッキングします。これを実現するために、ウィンドウオブジェクトにフォーカスを当て、フォーカスが失われた場合は、マウスがAdSense iFrameの領域にあるかどうかを確認します。その後、再びフォーカスを窓に戻します。
これは機能します。しかし、Chromeでは1回しか動作しません。したがって、新しいタブで開く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