每当有人点击我网站上的dcmads广告时,我都想拨打ajax电话。但我无法这样做。我认为这有点因为事件冒泡和捕获甚至试图解决它但这没有任何效果。
HTML -
<div class="ad-snippet">
<ins class='dcmads' style='display:inline-block;width:728px;height:90px'
data-dcm-placement='N8897.1919357DBM_CA/B10148853.136150045'
data-dcm-rendering-mode='iframe'
data-dcm-https-only
data-dcm-resettable-device-id=''>
<script src='https://www.googletagservices.com/dcm/dcmads.js'></script>
</ins>
</div>
JS -
var ad_click = document.querySelectorAll('.ad-snippet');
[].forEach.call(ad_click, function(key,value){
key.onclick = function(){
alert("hi");
}
});
任何帮助都将受到高度赞赏,为什么会发生这种情况,我们如何处理?
答案 0 :(得分:1)
对于任何面临同样问题的人,我终于使用下面提到的惊人插件找到了解决方案
https://github.com/vincepare/iframeTracker-jquery
问题原因 - 由于相同的原始政策
,无法从父页面读取iframe内容(DOM)此插件的工作原理 - 跟踪基于与页面/ iframe边界监视系统关联的模糊事件,告知任何时候哪个iframe是鼠标光标。
jQuery(document).ready(function($){
$('.iframe_wrap iframe').iframeTracker({
blurCallback: function(){
// Do something when the iframe is clicked (like firing an XHR request)
}
});
});