首页 > 解决方案 > 检测 iframe 内的点击

问题描述

我正在尝试检测用户在 iframe 内单击的次数。如果用户点击 iframe 内的链接,最好只计算点击次数。

例如,用户在 iframe 内浏览网站,每次用户点击链接或按钮将他们带到网站上的新页面时,都会计算一次点击。

到目前为止,我只看到像这样 https://gist.github.com/jaydson/1780598注册 1 点击焦点的答案

var myConfObj = {
  iframeMouseOver : false
}
window.addEventListener('blur',function(){
  if(myConfObj.iframeMouseOver){
    console.log('Wow! Iframe Click!');
  }
});

document.getElementById('webFrame').addEventListener('mouseover',function(){
   myConfObj.iframeMouseOver = true;
});
document.getElementById('webFrame').addEventListener('mouseout',function(){
    myConfObj.iframeMouseOver = false;
});

使用这种方法,它确实检测到点击,但它只在第一次在 iframe 内点击时检测到点击,你必须在 iframe 外部点击并返回,这对于我正在尝试构建的内容不起作用。原因是用户将被期望在 iframe 内浏览,他们不会点击进出 iframe。

此外,iframe 中显示的网站也不会来自同一个域。

期望:iframe 内的每次点击都会增加var clicks实际1 结果:用户点击在 iframe 焦点上注册一次

首选结果:当用户单击 iframe 内的链接时,将用户带到新页面的链接var clicks将增加1

标签: javascripthtml

解决方案


推荐阅读