题
我有一个 iframe
引用提供包含 Flash 广告的页面的外部 URL。
我需要跟踪客户点击其中一个广告的频率。
我正在采取的方法是呈现 div
元素在 iframe
. 。这允许我拦截点击事件,但是我需要将该点击传递给 iframe
. 。使用 JavaScript 可以实现这一点吗?
解决方案
没有,这是不可能的。你不能模拟的真正的点击在JavaScript中,你只能火的点击的事件。
其他提示
我不认为这是可能的
不过,假设点击将用户重定向到该广告的网站,你可以使用重定向截取用户点击。改变你自己的服务器有一些独特的广告ID链接到一些脚本。注册点击将用户重定向到广告页面。
另一种可能性是使用这种技术来加载iframe的内容,所以你已知观看过该广告客户的量。但是,这当然可能是一个广告方案,您的广告客户不喜欢/想。
您无法通过任何合法方式传递点击,并且如果您尝试以任何方式伪造它,您都会遇到跨域问题。我绝对会远离任何看起来像 点击劫持 解决方案 - 它肯定会停止工作(并且也感觉很邪恶)。
您也许能够破解某些东西,具体取决于它的准确性。这将涉及跟踪当用户将鼠标放入横幅区域然后离开页面时发生的事件序列(推断他们点击了广告)。您可能会错过一些,也可能会发现一些误报。
它会像这样工作:
- 将覆盖 div 保留在原处
- onmouseover,隐藏div并设置一个beforeunload事件处理程序,该事件通过AJAX帖子(或类似)注册“单击”
- 当鼠标移出横幅区域时,这意味着他们没有点击广告,因此再次显示 div 并删除事件处理程序
我猜你会得到大约 80-90% 的准确率,但你必须在很多浏览器上进行测试。它还假设广告加载到同一窗口而不是新窗口中。如果它加载到一个新的那么我认为它会更加困难。
不隶属于 StackOverflow