【问题标题】:How to capture all the events performed on iframe?如何捕获在 iframe 上执行的所有事件?
【发布时间】:2015-12-28 01:20:57
【问题描述】:

注意:iframe 的 url 是外部链接,位于不同的域上,我无法修改。

我可以得到一个只能检测到点击事件的解决方案。

var monitor = setInterval(function(){
var elem = document.activeElement;
if(elem && elem.tagName == 'IFRAME'){
    message.innerHTML = 'Clicked';
    clearInterval(monitor);
}
}, 100);

另外,在this 的地方已经声明我们无法捕获external iFrame 的事件。我想捕捉所有的事件。有可能吗?

【问题讨论】:

  • "另外,在this 的地方已经声明我们无法捕获外部 iFrame 的事件。我想捕获所有事件。有可能吗? " 我想你已经在这里回答了你自己的问题。如果您无法控制其他页面,那么不,这是不可能的。想象一下,您将银行网站放在 iframe 中 - 您将能够捕获登录用户的击键。
  • @JamesThorpe 我非常同意!

标签: javascript jquery html iframe web


【解决方案1】:

如果您同时拥有两个站点/域,则在单击子文档时使用 postmessage,这在 IE8 上不起作用

【讨论】:

  • 我已经明确表示 iframe 的 url 是不同域上的外部链接。
  • 域名不是问题,如果你不能控制 iframe 的内容,它会的。您仍然可以使用代理+修改或其他方法制作同一个域,或将 ajax 放入同一个文档
猜你喜欢
  • 1970-01-01
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多