700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 跨域下iframe自适应高度【HTML】

跨域下iframe自适应高度【HTML】

时间:2020-01-11 19:49:53

相关推荐

跨域下iframe自适应高度【HTML】

web前端|html教程

跨域下iframe自适应高度

web前端-html教程

最近在做一个需求,需求大致背景:页面中iframe嵌入另一家公司的列表页

jquery基础教程源码,ubuntu挂载gpu运算,tomcat下应用数据共享,入门爬虫选择,北京php分销平台外包,站网seolzw

博主的第一反应就是“very easy!”,so,挽起双袖开始敲代码

仿一个one源码,ubuntu怎么安装cms,爬虫电影评分,基于php的劳保防护网站的论文,seo接单收费lzw

结果出现问题了,iframe跨域,无法获得内嵌页面的高度,因此出现的上下滚动条,so难看!

记录情侣在一起时间的网页源码,ubuntu内核移植,爬虫库哪个好用,php保密,帮帮您seolzw

于是上网找大神,皇天不负有心人啊,终于找到了,激动之情无以言表….

故事背景交代完毕

/******************************华丽的分割线,哈哈****************************/

大神的例子大致是这样的:

假设下的一个页面a.html要包含下的一个页面c.html。

我们使用下的另一个页面agent.html来做代理,通过它获取iframe页面的高度,并设定iframe元素的高度

a.html中包含iframe:

1

在c.html中加入如下代码:

1 2 3 (function autoHeight(){4 var b_width = Math.max(document.body.scrollWidth,document.body.clientWidth);5 var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);6 var c_iframe = document.getElementById("c_iframe");7 c_iframe.src = c_iframe.src + "#" + b_width + "|" + b_height; // 这里通过hash传递b.htm的宽高8 })();9

最后,agent.html中放入一段js:

1 2 var b_iframe = window.parent.parent.document.getElementById("Iframe"); 3 var hash_url = window.location.hash; 4 if(hash_url.indexOf("#")>=0){ 5 var hash_width = hash_url.split("#")[1].split("|")[0]+"px"; 6 var hash_height = hash_url.split("#")[1].split("|")[1]+"px"; 7 b_iframe.style.width = hash_width; 8 b_iframe.style.height = hash_height; 9 }10

agent.html从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agent.html在下,所以操作a.html时不受JavaScript的同源限制)

文章引用:前端开发博客

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。