2011-07-23 20 views
1

首先,這裏是我的代碼:jQuery的點擊跟蹤不工作的iFrame

<script type="text/javascript"> 
    $('#Advertisement-1').click(function() { 
     alert("Ad Clicked!"); 
    }); 
</script> 

<div id="Advertisement-1"> 
    <!-- PBBG Ads Zone Code Begin --> 
    <center> 
     <iframe src='http://www.pbbgads.com/ad.php?z=429&bg=000000' width='468' height='67' marginwidth='0' marginheight='0' hspace='0' vspace='0' frameborder='0' scrolling='no'></iframe> 
    </center> 
    <!-- PBBG Ads Zone Code End --> 
</div> 

現在,我的問題是,當我點擊廣告,不發送警報。它只是在新窗口中打開廣告。任何想法如何讓點擊事件工作?

回答

0

代碼點擊提醒是在父窗口中,我假設廣告的iframe裏面所以它是不可能的,除非父頁面和iframe在同一個域中。

0

你不能,除非你檢測從http://www.pbbgads.com/

3

click事件不適用於iframe,因爲事件不會通過DOM中的標記的祖先冒泡。

相反,您可以使用模糊事件來檢測您的父頁面何時失去焦點。 這個jQuery插件旨在跟蹤I幀點擊:https://github.com/finalclap/iframeTracker-jquery

它非常容易使用,只需選擇與選擇您的iframe,並提供一個回調函數(點擊iframe中時會被解僱):

jQuery(document).ready(function($){ 
    $('.iframe_wrap iframe').iframeTracker({ 
     blurCallback: function(){ 
      // Do something when iframe is clicked (like firing an XHR request) 
     } 
    }); 
});