javascript - 具有自动高度的 iframe

标签 javascript jquery html jquery-plugins

我需要使用跨域src自动调整iframe的高度,我尝试使用javascript,但是当我尝试获取iframe contentWindow的高度时,我收到“访问被拒绝”的消息。有人知道什么方法吗?

最佳答案

ItzWarty 是对的:父页面无法与子文档通信,甚至无法找出其高度。早在 2008 年,Michael Mahemoff 就发布了 Cross-Domain Communication with IFrames 的详细概述这可能会为您提供一些指导。

希望就在眼前,然而 - HTML5 对这种情况进行了一项名为“Cross-document messaging”的改进,Firefox 3、Safari 4、Chrome 2、Opera 9.2 甚至 IE 均支持该改进... 8. 如果您的用户仅使用那些受支持的浏览器,您可以使用它。

也许您可以将 IFRAME 元素上的“scrolling”属性默认设置为“auto”并测试 window.postMessage - 如果成功,将“scrolling”设置为“no”并使用函数相应地调整 IFRAME 的大小.

我最近处理了一个类似的问题(domain.tld 的父页面在 blog.domain.tld 上构建页面),但我能够使用 Mahemoff 描述的“旧 document.domain hack ”来解决,尽管它不是Opera 支持。

祝你好运。

关于javascript - 具有自动高度的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634693/

相关文章:

javascript - 选择带有空格的 jQuery 插件搜索

javascript - angularjs 路由器和 jquerys 的 url 片段问题

jquery - 如何添加 jQuery .on click 到 Tablesorter th?

javascript - 单击整行(保留中键单击和 ctrl+单击)

javascript - 如何在 Markdown 中使用 Github 按钮 (README.md)

JQuery ui 可调整大小未达到最大宽度

jquery - 使用 css/scss 或 js 动态实现颜色效果不透明度/渐变?

JavaScript 和 HTML 表单验证

Javascript 按钮 onclick 函数未定义

javascript - Backbone.iobind 应该是node包还是bower包?