gpt4 book ai didi

javascript - 如何检测 iframe(跨域)内的点击?又名防止点击欺诈

转载 作者:太空狗 更新时间:2023-10-29 14:03:14 25 4
gpt4 key购买 nike

我的广告系统提供商向我发出了关于点击欺诈的警告。没有更多信息,他们只建议“为点击广告过快的用户隐藏广告”。我写了一段 JS 脚本,当点击时隐藏所有带广告的 DIV(使用 cookie),但这个解决方案不起作用,因为“内部”内容(带广告)是由调用和呈现的 JS 脚本生成的来自外部服务器的内容(正如您对广告系统的期望)。因此,当考虑到跨域安全性时,它有点像第 22 条军规。如何检测 DIV(本地定义)内的点击,其内容由外部 JS 和 iframe 呈现?

例子:

<div class="ad-class"> <!-- locally defined div -->
<div id="my-id"> </div> <!-- identifies my ad in the provider's system -->
<script>
var foo = blah // declares the ad dimensions and stuff
// and renders the contextual ad in #my-id DIV
</script>
</div>

如果全部是本地的,解决方案会很容易,因为内部 div 会继承父类(“广告类”)。在跨域的情况下,这是无效的。有什么建议吗,伙计们?

最佳答案

您无法检测跨域 iframe 中的点击事件。

也就是说,您可能有一个不好的选择:

您可以做的最近的事情之一是检测焦点从您的窗口移动到 iframe:

window.focus(); //force focus on the currenct window;
window.addEventListener('blur', function(e){
if(document.activeElement == document.querySelector('iframe'))
{
alert('Focus Left Current Window and Moved to Iframe / Possible click!');
}
});

http://jsfiddle.net/wk1yv6q3/

但是它并不可靠,松散的焦点并不意味着点击,它可能是用户使用 TAB 在网站上移动。

另一个问题是,你只检测第一次焦点移动到 iframe,你不知道用户在那里做了什么,他可以点击一百万次而你永远不会知道。

关于javascript - 如何检测 iframe(跨域)内的点击?又名防止点击欺诈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29337304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com