如何在给定URL高度的基础上设置iframe高度
How to set iframe height on the bases of the given URL height
实际上,我无法根据给定的URL设置动态高度。此时我正在使用下面的代码:
<iframe id="myframe" src="http://example.com" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:auto; width:100%; height: 100%;"></iframe>
您可以通过获取iframe大小并根据该大小进行调整,例如;
<script type="text/javascript">
function resizeIframe() {
var iframe = document.getElementById('myframe');
if( iframe ) {
iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
iframe.width = iframe.contentWindow.document.body.scrollWidth + "px";
}
}
</script>
在你的框架里;
<iframe id="myframe" src="http://example.com" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" onload="resizeIframe()"></iframe>
Update: Cross Domain
如果加载的iframe url与您的域名不同,您将获得由于CORS的权限错误。您需要为您的域赋予iframe域权限。让说,
Iframe Domain: http://example.com
您的域名:http://yourdomain.com
在Iframe Domain, Apache conf中,您需要在<Directory>
, <Location>
, <Files>
或<VirtualHost
>;
Header always append Access-Control-Allow-Origin: "example.com"
如果域不是你的,你可以使用框架调整器。简单地说,添加这个库并运行;
iFrameResize();
相关文章:
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 我想在值的基础上选中复选框
- 如何在多变量比较的基础上添加ng类
- 如何在标题SoundCloud的基础上进行曲目搜索
- 在选择其他下拉列表html和javascript araray的基础上,填充3个连续的下拉列表
- 在原始对象的基础上创建新对象的最简单方法,但没有几个字段
- Protractor:在innerhtml的基础上获取元素
- Slick Carousel在应用程序动态路由的基础上不起作用
- 在其他元素的基础上隐藏/取消隐藏jsp元素
- 以角度方式在最小高度属性上动画化
- 使用jquery在前一行的基础上交替行颜色
- 使用mysql数据库在第一个下拉框的基础上自动填充第二个下拉框
- 使用javascript在第一个选择列表选项的基础上更改第二个选择列表
- 如何在执行特定函数(Javascript)的基础上呈现模板
- 在另一个选择中先前选择的选项的基础上更改选择选项
- 在上述ul类的基础上给出li元素类
- 在Json函数的基础上返回javascript函数的值
- 如何使用Jquery在给定的html结构的基础上产生手风琴效果
- 如何在JSON数组字段的基础上从主干集合中提取模型
- 如何在给定URL高度的基础上设置iframe高度