每当有人点击我网站上放置的 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");
}
});
任何关于为什么会发生这种情况以及我们如何处理这种情况的帮助将不胜感激?
最佳答案
对于面临同样问题的任何人,我终于找到了使用下面提到的令人惊叹的插件的解决方案
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)
}
});
});
关于javascript - 点击事件在 dcmads 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44367265/