包装在IFrame中的网页限制?

时间:2010-12-06 08:30:20

标签: javascript iframe cross-domain

我正在开发一个网页,我们的客户希望通过将我的网页打包到iframe跨域)来在其网站上插入。我需要与父母互动或了解 iframe 之外的任何内容。

我正在使用 HTML CSS Javascript Webservices

问题:如果我的网页在 iframe 之外运行,我在 iframe 中的限制情况如何?

2 个答案:

答案 0 :(得分:14)

你不是。您域中iframe内链接的任何JS都将在iframe的上下文中执行操作。除了被塞进一个不寻常的容器之外,它应该与它独立装载时的工作方式相同。

如果你的需求应该改变,那么有两种方法可以在父框架和iframe之间发送信号,如果这两个页面都有JS编写的合作。有些方法使用URL中的#,父级可以读取,不强制页面重新加载,我相信它们共享window.resize事件,可以手动触发而不实际调整窗口大小。

更新:现在有更好的方法在跨域iframe之间进行通信,而不是以前。当然,你仍然需要在两端配合JS,但是你可以使用window.postMessage而不是通过window.resize和URL中的哈希符号之后的数据来触发消息。这是一个很酷的技巧。

答案 1 :(得分:3)

创建链接时,如果要为父窗口创建链接,则应考虑使用target - a - 标记的{{1}} - 属性。否则,新页面将加载到iframe中。