javascript - iframe和事件监听器

时间:2011-05-25 11:49:00

标签: javascript iframe javascript-events listener

大家好日子。

考虑包含iframe的网页。 iframe源位于另一个域中。

我对两件事感兴趣:

  1. 我可以在iframe中创建一个事件监听器来监听父窗口中发生的事件(并在iframe中运行一个函数)吗?

  2. 我可以在父窗口中创建一个事件监听器来监听iframe中发生的事件(并在父窗口中运行一个函数)吗?

2 个答案:

答案 0 :(得分:3)

这两个帐户都没有,跨域脚本安全措施不允许任何跨域通信。

您可能想看看这篇关于Cross-Domain Communication with IFrames的深入文章。它讨论了你能做什么和不能做什么,并提供了一些替代方案,如window.postMessage

答案 1 :(得分:1)

是。但它可能比您感兴趣的工作更多。您需要为与父页面位于同一域的该页面创建代理。您的代理可以是一个简单的传递,但它可以很好地打破页面;可能需要进行一些URL重写,以便不破坏在该页面上运行的脚本,这些脚本会假设它正在被评估的上下文,所以在前面“它取决于。”

但你的问题是“你能......?”答案是“是的。”