0

我的网页中有一个 iframe。因此,当在 iframe 内按下 Esc 时,我需要将焦点设置在文档的顶部框架上。iframe 来自不同的域。在此处输入图像描述

这里 Frame-B URL 将是一些 abc.com,而 frame-A 将来自 xyz.com

因此,当在 Frame-B 中触发事件时,我需要关注 Frame-A。

我可以在 Frame-A 和 Frame-B 中绑定任意数量的事件。

我找到了一种像“iframe 中的 iframe 中的 iframe”这样的旧方法。不感兴趣的。

任何想法如何做到这一点?

4

1 回答 1

4

如果您对外部框架有一些控制(假设它是您的站点,但仍然与 B 不同),那么您的问题有多种解决方案。如果您无法控制外框(例如,因为它是 google.com),那么您无能为力。浏览器旨在防止它。见乔纳斯的回答。

那么如果可以控制外页呢?以下任何一项都可以:

  • 使用postMessage。您所要做的就是在 Frame-A 中添加一个非常通用的事件侦听器。它适用于除 IE7 及以下版本的“所有”浏览器。
  • 使用服务器作为中间人。从 Frame-B 向您的服务器发送一个请求,并让 Frame-A 从那里访问它。如果您不想轮询,您可以在 Frame-A 中使用 Web 套接字(或者更确切地说是一个好的 Web 套接字库,如果 Web 套接字不存在,则可以使用其他技术)。
  • 使用片段标识符破解。您可以在此处阅读相关内容(以及其他几种技术):http: //softwareas.com/cross-domain-communication-with-iframes
于 2012-08-03T08:26:43.883 回答