我正在开发一个网页,我们的客户希望通过将我的页面包含在iframe(跨域)中来插入到他们的网站上.我不需要与父母进行交互,也不需要了解iframe之外的任何内容.
我正在使用HTML,CSS,Javascript和Webservices.
问题:如果我的页面运行在iframe之外,我如何限制一个iframe?
解决方法
你不是.在您的域中的iframe中链接的任何JS都将在iframe的上下文中执行.除了被挤压成一个不寻常的容器,它应该像它独立加载一样工作.
如果您的需求应该改变,那么有两种方式可以在父框架和iframe之间发送信号,如果两个页面都有JS写入协议.有些方法使用#的URL,可以由父级读取,不要强制页面重新加载,我相信他们共享window.resize事件,可以手动触发,而不需要实际调整窗口大小.
更新:现在,跨域iframe之间的沟通有更好的方式.当然,您仍然需要双方合作的JS,但您可以使用window.postMessage而不是通过window.resize和数据在URL中的哈希符号后触发消息.那是一个很棒的戏法.