Отслеживание кликов jQuery не работает на iFrame - PullRequest
1 голос
/ 24 июля 2011

Во-первых, вот мой код:

<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>

Теперь моя проблема заключается в том, что когда я нажимаю на объявление, оно не отправляет предупреждение.Он просто открывает рекламу в новом окне.Любые идеи, как я могу заставить событие щелчка работать?

Ответы [ 3 ]

3 голосов
/ 03 апреля 2013
Событие

click не работает в iframes, потому что событие не всплывает через предков тега <iframe> в DOM.

Вместо этого вы можете использовать событие blur , чтобы определить, когда родительская страница теряет фокус. Этот плагин jQuery предназначен для отслеживания кликов по фреймам: 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)
        }
    });
});
0 голосов
/ 24 июля 2011

Код для предупреждения находится в родительском окне, и, как я полагаю, объявление находится внутри iframe, поэтому это невозможно, если родительская страница и iframe не находятся в одном домене.

0 голосов
/ 24 июля 2011

Вы не можете, если не обнаруживаете щелчок от http://www.pbbgads.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...