Berdasarkan jawaban Mohammed Radwan saya datang dengan solusi jQuery berikut. Pada dasarnya yang dilakukannya adalah melacak apa yang orang iFrame hovering. Kemudian jika jendela mengaburkan itu kemungkinan besar berarti pengguna mengklik spanduk iframe.
iframe harus diletakkan di div dengan id, untuk memastikan Anda tahu iframe mana yang diklik pengguna:
<div class='banner' bannerid='yyy'>
<iframe src='http://somedomain.com/whatever.html'></iframe>
<div>
begitu:
$(document).ready( function() {
var overiFrame = -1;
$('iframe').hover( function() {
overiFrame = $(this).closest('.banner').attr('bannerid');
}, function() {
overiFrame = -1
});
... ini membuat iFrame tetap di -1 saat tidak ada iFrame yang melayang-layang, atau 'bannerid' yang diatur dalam div pembungkus ketika iframe melayang-layang. Yang harus Anda lakukan adalah memeriksa apakah 'overiFrame' diatur ketika jendela kabur, seperti: ...
$(window).blur( function() {
if( overiFrame != -1 )
$.post('log.php', {id:overiFrame}); /* example, do your stats here */
});
});
Solusi yang sangat elegan dengan kelemahan minor: jika pengguna menekan ALT-F4 saat mengarahkan mouse ke atas iFrame, itu akan mencatatnya sebagai klik. Ini hanya terjadi di FireFox, IE, Chrome dan Safari tidak mendaftarkannya.
Terima kasih sekali lagi Mohammed, solusi yang sangat berguna!