捕获iframe jQuery中的所有事件并进行复制

这是个问题:

我有一个显示任何网页的iframe(不一定由我开发)。 在这个页面上可能是附加事件(大概我不知道)。

如何动态拦截这些事件并存储它们以供以后复制?

例如:假设当鼠标移过某个div时它会改变颜色。 我想确保当你触发将颜色改变为div的事件时,它会“注册”所有A系列信息,这些信息将允许我(无需用户交互)在以后复制它。

想法? 用于记录和后续复制

简短的回答是: 你做不到

如果页面位于不同的域中,则无法使用页面上的JavaScript访问“任何网页”的文档对象,由于同源策略 ,我假设您说“任何网页”。 您需要IFRAME中的网站与您的脚本合作才能实现这一目标,“任何网页”都不会发生这种情况。

IFRAME在同一个域名上
如果您的网页位于同一个域中,则可以通过为此处描述的每个事件添加一个侦听器来访问IFRAME主体元素的事件。 这对于冒泡到身体的所有事件都是可能的。 因此,如果您有阻止向上冒泡到身体的事件,则不会使用此解决方案。

jQuery('#website body').on('click mouseover mouseout', function(event) { console.log(event.type); }); 

假设你有一个带有id website的IFRAME,你可以通过列出它们来捕捉你想要的事件,如上所述。 该示例捕获clickmousovermouseout

也许这更接近你想要的?

将事件处理程序添加到您的div。 对于您可以使用的示例

 $('#div').mouseover(function(e) { ... }) 

要么

 ('#div').on('mouseover', function(e) { ... }) 

对于“复制”,您必须在某些对象中存储有关过去事件的信息。 您甚至可以存储事件对象本身。