点击jQuery无法读取的iframe内容

时间:2016-12-22 15:21:22

标签: javascript jquery iframe adsense

我遇到了jQuery click()函数的问题。

问题是我可以说我有一个类foo的div,它主要包含广告,我想显示一条控制台日志消息,说每次有人点击广告时都会点击广告。

所以,我写了一个像这样的小jjquery:

(function($){
    $(".foo").click(function(){
        console.log( "Ad Clicked" );
    });
})(jQuery);

请注意:这是一个示例代码。实际代码比这更复杂,但基于同样的逻辑。

问题

如果我使用某种类型的联盟横幅代码,上面的代码会正确显示控制台消息:

<div class="foo">
    <a href="example.com/something"><img src="http://example.com/adbanner.jpg" /></a>
</div>

但是,如果我将其包含在使用iframe展示广告的AdSense代码中,则每次使用该点击事件点击广告时都不会被触发,并且控制台消息不会显示。这是一个adsense代码示例:

<div class="foo">
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <ins class="adsbygoogle"
        style="display:block"
        data-ad-client="ca-pub-XXXXXXXXXX"
        data-ad-slot="XXXXXXXXXXX"
        data-ad-format="auto"></ins>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
</div>

我要做的是编写一个通用代码,即使我使用的是什么类型的广告代码,也能捕获点击。无论是联盟广告代码还是基于iframe的广告。

你们有没有人知道为什么点击事件不能用于基于iframe的adsense代码?

1 个答案:

答案 0 :(得分:0)

在PC上的

是可能的,但在手机上没有。看看https://github.com/vincepare/iframeTracker-jquery