Iframe 调整大小和跨站点脚本
Iframe resize and cross site scripting
这就是问题所在!我有一个加载外部网站的 iframe。我希望 iframe 根据内容高度调整为 100%,这样我就不会看到滚动条。将 iframe 高度设置为 100% 不起作用。
我想出了两个解决方案:
- 将两端的 document.domain 属性设置为同一域,这使 iframe 内容可以访问父窗口。的可以从 iframe 中启动调整大小方法。
- 使用 HTML5 postMessage API 采取适当的操作。我习惯在两个 iframe 之间进行通信。
这两种方法都很复杂。有没有更简单的方法来解决这个问题?
您可以将另一个 iframe 嵌入到您的 iframe 中。如果该 iframe 的源来自与顶级 iframe 相同的域、协议和端口,那么它可以通过 parent.parent 访问它
去年我遇到了同样的问题,并在此博客上找到了适合我的解决方案:http://solidgone.org/Set-IFRAME-height-based-on-size-of-remotely-loaded-content
该方法的更新版本可以在他的后续文章中找到:http://solidgone.org/Redux-Set-IFRAME-height-based-on-size-of-remotely-loaded-content
正如 jack 所描述的那样,该实现需要将嵌入的 iframe 嵌入到您的页面中,其中包含同一父域的源。
我在FF中确实遇到了一个小问题。解决方案可以在后续文章的评论中找到。
希望这有帮助!
一个更简单的解决方案是在 github 上使用这个小项目。
https://github.com/davidjbradshaw/iframe-resizer
相关文章:
- MVC3站点脚本和CSS未加载
- API用于跨站点脚本
- 跨站点脚本过滤器阻止了我使用python-cgi脚本将javascript变量保存到mysqldb的尝试
- 修复跨站点脚本问题
- Java 中的跨站点脚本漏洞
- 移动菜单需要 Jquery 2.0.1,但其他站点脚本需要旧版本
- Iframe 调整大小和跨站点脚本
- Apache Cordova(Phonegap):是跨站点脚本所需的jsonp
- 跨站点脚本问题
- 强化:基于 DOM 的跨站点脚本
- 跨站点脚本
- 将 HTML 源代码注入 iframe 以避免跨站点脚本问题
- 如何使用javascript防止跨站点脚本攻击
- 解决跨站点脚本资源共享问题
- 疯狂需要启用跨站点脚本
- 是否可以在Mobile safari中允许跨站点脚本(XSS)
- 如何保护 Location.href 免受 JavaScript 中跨站点脚本的影响
- 使用Iframe进行跨站点脚本编写
- 跨站点脚本(XSS)的可能性
- 跨框架跨站点脚本-创建网页重载程序/看门狗