当用户与IFrame JavaScript交互时进行检测

Detect when user interact with IFrame JavaScript

本文关键字:检测 交互 JavaScript 用户 IFrame      更新时间:2023-09-26

我发现了很多关于这方面的帖子,但我仍然没有找到解决方案。

我试图检测用户在IFrame上做什么。例如,鼠标移动或按键。我的IFrame与显示该IFrame的网站不同。

如何检测不同域的IFrame上的鼠标移动或按键?

感谢

您可以像任何其他元素一样将事件连接到IFrame,例如每当用户将鼠标悬停在IFrame上时,$('#my_iframe').mouseover(function(){ alert('over!'); });就会触发。

但这真的没用。如果您想捕获帧的内容上发生的事件,则无法执行此操作。例如CCD_ 2将不起作用。

这是因为同源政策,没有办法绕过它!

我成功地使用了"on"。。ala.

CAVEAT:这将注意到页面上IFRAME容器的变化。由于,父页面将对此有所了解。这将不会捕获从不受父级控制的单独iframe或其中的页面发出的事件。

$("iframe").on("mouseover focus",function(){ 
     // do your stuff
});

如果你只想对一个有特定来源的iframe进行操作,那么可以这样做:

var usedSrc = /facebook|twitter/;
    $('iframe').on('mouseover focus', 
      function () {
          if(usedSrc.test($(this).attr('src'))){
                 // do your stuff
          }
      }  
    );​