我遇到了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代码?