iframe中子页面通过js计算高度(使得页面不会显示不全)

  使用过iframe的人,都知道,它是一个模版,里面有一个iframe,而iframe当中,是可以嵌套多个页面的。(比较常见的问题,就是iframe页面中,经常会出现内容显示不全的时候)。

谨记,通过js去计算高度,最最要紧的就是,包着所有元素包住了里面的元素,也就是body的高度、其他元素的高度都是存在,一般只要记住清除浮动应该就不会有什么问题(这是我的老毛病,故而要告诉别人防患于未然)。

  下面这段脚本是直接放在子页面里面的

<script type="text/javascript">
        var oIframe = window.top.document.getElementById("ifrma1");
        var oBody = document.getElementsByTagName("body")[0];
        oIframe.style.height = oBody.offsetHeight + 40 + ‘px‘;
</script>

iframe中子页面通过js计算高度(使得页面不会显示不全)

时间: 2024-11-05 06:12:42

iframe中子页面通过js计算高度(使得页面不会显示不全)的相关文章

js处理iframe中子页面与父页面里面对象的取得的解决方案

[1]子页面取得父页面的dom对象 parent.window.$('#id').val(""); [2]父页面取得子页面的对象 $(window.frames["iframeName"].document).find('#subjectDg').datagrid('acceptChanges'); $('#iframeId').contents().find('#id'); //***** [3]父页面调用子页面方法:reload()为自己写的子页面js方法 $(

iframe与父页面中JS执行顺序控制

同事遇到了一个问题: 父页面中有几个iframe,初衷是父页面的JS通过AJAX获取数据,然后用于初始化iframe页面,可以结果却是有的iframe页面却不能获得数据. [问题根源] 父页面在加载iframe的时候,也会执行JS代码,二者执行完成先后顺序并不可控,而iframe却要使用JS获取的数据,导致在iframe初始化时,没有得到数据,也就无法初始化iframe页面了. [解决办法] HTML代码中,iframe的src属性不赋值.父页面的JS在AJAX请求成功之后,再为iframe的s

iframe子页面js调用父页面js函数/父页面调用Iframe子页面中js方法

1.假设当前页面为a.html, iframe的src页面为b.html,其代码如下: 1 <span class="tag"><html> 2 <br></span><span class="tag"><head> 3 <br></span><span class="tag"><title></span><s

JS原生父子页面操作

var api = frameElement.api;  //当前 W = api.opener;//父页面 W.setPerSel(jsonStr); api.close(); //关闭窗口 js操作frame详细解说,window.opener和window.parent的区别 frame框架里的页面要改其他同框架下的页面或父框架的页面就用parentwindow.opener引用的是window.open打开的页面的父页面. window.frames对象可以引用iframe里的页面,也可

iframe的跨域高度自适应(通过跨域页面中嵌套本域页面)

实习不久接到一个任务,在网页中嵌套另一个工程的网页.本以为这是轻而易举的一件事情,结果被测试姐姐折腾得够呛.多次和我谈心说到这个高度固定导致iframe出现滚动条有多么不好看,对于工程整体的影响有多么恶劣.因为跨域的原因,这个需求被拖了许久,真是很痛苦的一件事.最终在我离开公司之前搞定了这个单. 这里就把我的研究过程写下来以供大家参考. 首先需要了解一下何为同域,何为跨域: URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名

iframe中子父窗口互调的js方法

转载自:http://www.cnblogs.com/chinafine/archive/2011/09/15/2177746.html 一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></iframe> 2.父窗口调用子窗口:myFrame.window.functionName(); 3.子窗品调用父窗口:parent.functionName();

利用Chrome插件向指定页面植入js,劫持 XSS

资源来自:http://www.2cto.com/Article/201307/225986.html 首页 > 安全 > 网站安全 > 正文 利用Chrome插件向指定页面植入js,劫持 XSS,一些猥琐的想法与实践 2013-07-08      0个评论       收藏    我要投稿 0x00 Chrome插件--------------------------这个想法是昨天看到@紫梦芊 的帖子想起来的.想法如下:Chrome插件是可以通过manifest.json的控制,向指

JS 跳转页面方法

说下 在iframe 框架的两种跳转! 1.从一个框架跳转到 name="mainframe" 的框架里. mainframe当前页的iframe名字 window.mainframe.location.href = '../index.aspx; window.mainframe.location.href = aSLI[0].href; 2.跳出框架,在父页面. window.parent.frames.location.href="../index.aspx"

iframe在iphone6 plus的safari下子页面的宽度不受父页面控制的bug

这是想要的效果: 样式设置是iframe外面的宽度为100%,iframe的宽度为父元素的90%,高度为宽度 除以1.6,固定比例, 正常显示就是上面的样子,但是,问题出现在iphone特定手机特定版本的safari浏览器上,在它上面会出现: 这样的情况.检查了一下,发现原因了: 在iframe里面的页面没加载出来之前,iframe的宽和高是正常的,当里面的页面加载完了之后,宽度就会发生变化,当然, 高度也相应改变.父页面中显示出来的iframe宽和高其实是子页面的真实宽高!也就是说子页面的宽高