跨域下的iframe自适应高度
来源:互联网 发布:淘宝自动输入验证码 编辑:程序博客网 时间:2024/06/05 05:59
跨域下的iframe自适应高度跨域的时候,由于js的同源策略,父页面内的js不能获取到iframe页面的高度。需要一个页面来做代理。 方法如下:假设www.a.com下的一个页面a.html要包含www.b.com下的一个页面c.html。 我们使用www.a.com下的另一个页面agent.html来做代理,通过它获取iframe页面的高度,并设定iframe元素的高度。
a.html中包含iframe:<iframe src="http://www.b.com/c.html" id="Iframe" frameborder="0" scrolling="no" style="border:0px;"></iframe>
在c.html中加入如下代码:<iframe id="c_iframe" height="0" width="0" src="http://www.a.com/agent.html" style="display:none" ></iframe>
<script type="text/javascript">
(function autoHeight(){
var b_width = Math.max(document.body.scrollWidth,document.body.clientWidth);
var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);
var c_iframe = document.getElementById("c_iframe");
c_iframe.src = c_iframe.src + "#" + b_width + "|" + b_height; // 这里通过hash传递b.htm的宽高
})();
</script>
最后,agent.html中放入一段js:<script type="text/javascript">
var b_iframe = window.parent.parent.document.getElementById("Iframe");
var hash_url = window.location.hash;
if(hash_url.indexOf("#")>=0){
var hash_width = hash_url.split("#")[1].split("|")[0]+"px";
var hash_height = hash_url.split("#")[1].split("|")[1]+"px";
b_iframe.style.width = hash_width;
b_iframe.style.height = hash_height;
}
</script>
在c.html中加入如下代码:<iframe id="c_iframe" height="0" width="0" src="http://www.a.com/agent.html" style="display:none" ></iframe>
<script type="text/javascript">
(function autoHeight(){
var b_width = Math.max(document.body.scrollWidth,document.body.clientWidth);
var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);
var c_iframe = document.getElementById("c_iframe");
c_iframe.src = c_iframe.src + "#" + b_width + "|" + b_height; // 这里通过hash传递b.htm的宽高
})();
</script>
最后,agent.html中放入一段js:<script type="text/javascript">
var b_iframe = window.parent.parent.document.getElementById("Iframe");
var hash_url = window.location.hash;
if(hash_url.indexOf("#")>=0){
var hash_width = hash_url.split("#")[1].split("|")[0]+"px";
var hash_height = hash_url.split("#")[1].split("|")[1]+"px";
b_iframe.style.width = hash_width;
b_iframe.style.height = hash_height;
}
</script>
阅读全文
0 0
- 跨域下的iframe自适应高度
- 跨域下的iframe自适应高度
- iframe 的自适应高度
- iframe 的自适应高度
- iframe的自适应高度
- iframe的高度自适应
- iframe高度的自适应
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- 表格自适应iframe的高度.
- IFRAME自适应高度的解决方法
- iframe自适应高度的实现
- iframe自适应高度的方法
- iframe跨域时的高度自适应
- iframe自适应高度的实现 .
- iframe高度自适应的问题
- iframe高度自适应的设置
- Android中快速打包神器
- 搭建个人博客
- SQL Server 创建表,添加约束
- 《Android源码设计模式解析与实战》读书笔记(二十一)——装饰者模式
- 自定义ListView
- 跨域下的iframe自适应高度
- 给Python3爬虫做一个界面.妹子图网实战 2
- Java读取Properties文件的六种方法
- “程序员”和“码农”究竟有什么区别?
- 一个比较好用的 chrome浏览器的json格式化插件
- 关于 Java.util.ConcurrentModificationException 的讨论和解决方法
- 给Python3爬虫做一个界面.妹子图网实战 3
- linux scp
- activity手势右滑finish