মোহাম্মদ রাদওয়ানের উত্তরের উপর ভিত্তি করে আমি নিম্নলিখিত jQuery সমাধান নিয়ে এসেছি। মূলত এটি যা করে তা হ'ল আইফ্রেম লোকেরা কী ঘুরে বেড়াচ্ছে তা ট্র্যাক করা। তারপরে যদি উইন্ডোটি অস্পষ্ট হয় তবে সম্ভবত এটি ব্যবহারকারীর আইফ্রেমে ব্যানারটি ক্লিক করে।
আইফ্রেমে আইডির সাথে ডিভিতে রাখা উচিত, ব্যবহারকারীরা কোন আইফ্রেমে ক্লিক করেছেন তা আপনি নিশ্চিত তা নিশ্চিত করতে:
<div class='banner' bannerid='yyy'>
<iframe src='http://somedomain.com/whatever.html'></iframe>
<div>
তাই:
$(document).ready( function() {
var overiFrame = -1;
$('iframe').hover( function() {
overiFrame = $(this).closest('.banner').attr('bannerid');
}, function() {
overiFrame = -1
});
... যখন কোনও আইফ্রেম আড়াল করা হয় না, বা আইফ্রেমে আটকানো হয় তখন মোড়ক ডিভিতে 'ব্যানারিড' সেট থাকে এটি -1 এ অতিরিক্ত ফ্রেম রাখে। উইন্ডোটি অস্পষ্ট হয়ে গেলে 'ওভারফ্রেম' সেট করা আছে কিনা তা যাচাই করে আপনাকে যা করতে হবে: ...
$(window).blur( function() {
if( overiFrame != -1 )
$.post('log.php', {id:overiFrame}); /* example, do your stats here */
});
});
একটি ছোটখাটো ডাউনসাইড সহ খুব মার্জিত সমাধান: কোনও ব্যবহারকারী যদি আইফ্রেমের উপর মাউস ঘোরাতে গিয়ে ALT-F4 টিপেন তবে এটি ক্লিক হিসাবে এটি লগ ইন করবে। এটি কেবল ফায়ারফক্সে ঘটেছিল, যদিও, আই, ক্রোম এবং সাফারি এটি রেজিস্টার করেনি।
আবারও ধন্যবাদ মহম্মদ, খুব দরকারী সমাধান!