我正在开发一个网页,我们的客户希望通过将我的网页打包到iframe
(跨域)来在其网站上插入。我不需要与父母互动或了解 iframe 之外的任何内容。
我正在使用 HTML , CSS , Javascript 和 Webservices 。
问题:如果我的网页在 iframe 之外运行,我在 iframe 中的限制情况如何?
答案 0 :(得分:14)
你不是。您域中iframe内链接的任何JS都将在iframe的上下文中执行操作。除了被塞进一个不寻常的容器之外,它应该与它独立装载时的工作方式相同。
如果你的需求应该改变,那么有两种方法可以在父框架和iframe之间发送信号,如果这两个页面都有JS编写的合作。有些方法使用URL中的#,父级可以读取,不强制页面重新加载,我相信它们共享window.resize事件,可以手动触发而不实际调整窗口大小。
更新:现在有更好的方法在跨域iframe之间进行通信,而不是以前。当然,你仍然需要在两端配合JS,但是你可以使用window.postMessage
而不是通过window.resize和URL中的哈希符号之后的数据来触发消息。这是一个很酷的技巧。
答案 1 :(得分:3)
创建链接时,如果要为父窗口创建链接,则应考虑使用target
- a
- 标记的{{1}} - 属性。否则,新页面将加载到iframe中。