博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取Iframe页面高度并赋值给Iframe以及获取iframe里的元素
阅读量:6431 次
发布时间:2019-06-23

本文共 1149 字,大约阅读时间需要 3 分钟。

最近接手了别人的项目,别人用到了iframe,自己在实战中总结了一些关于iframe的小问题。

 

获取Iframe页面高度并赋值给Iframe

Html

<iframe name="container_ifranme" id="iframeId" scrolling="no" frameborder="no" border="0" src="home.html" onLoad="iFrameHeight()" ></iframe>

 

Js

function iFrameHeight() {

         var ifm= document.getElementById("iframeId");

                   var subWeb = document.frames ? document.frames["iframeId"].document : ifm.contentDocument;

                   if(ifm != null && subWeb != null) {

                            ifm.style.height = 'auto';//关键这一句,先取消掉之前iframe设置的高度

                            ifm.style.height = subWeb.body.scrollHeight+'px';

                   }

         };

 

获取iframe里的元素

1,contentWindow:是用来获取子窗口的window对象的,它兼容各大浏览器,用法如下

document.getElementById("iframeId").contentWindow

这样简单的一句就得到了iframe包含页面的window对象;

 

2,contentDocument:是用来获取子窗口的document对象的,主流浏览器都支持和ie8+支持,用法如下

document.getElementById("iframeId").contentDocument

这样简单的一句就得到了iframe包含页面的document对象;

 

以上两种方法是在父窗口中获取到子窗口,既然我们都能拿到子窗口window对象和document对象了,那么子窗口内其他的操作就easy了 !

如果要通过子窗口A访问到同级的子窗口B,那么我们可以在子窗口A中这么来做:

parent.getElementById("iframeId").contentWindow.document.getElmentById("frameId_B") 

或者parent.getElementById("iframeId").contentDocument.getElmentById("frameId_B")就得到B窗口了。

 

转载于:https://www.cnblogs.com/ranyonsue/p/10684835.html

你可能感兴趣的文章
Jenkins实战演练之Windows系统节点管理
查看>>
MySQL高可用架构之MHA
查看>>
excel2013使用分列功能拆分数据
查看>>
如何玩转小程序+公众号?手把手教你JeeWx小程序CMS与公众号关联
查看>>
kibana平台增加安全认证
查看>>
1.8 nginx域名跳转
查看>>
PHP面向对象之接口编程
查看>>
使用 Docker Compose 管理多个容器实例
查看>>
ThinkPHP 删除数据记录 delete 方法
查看>>
Gradle学习笔记(二)--创建Java项目
查看>>
IntelliJ IDEA 快捷键
查看>>
qury-easyui DataGrid 整合struts2增删查该入门实例(三)
查看>>
if a point is inside a square with mathematics
查看>>
Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
查看>>
skyline无插件web的数据加载解析
查看>>
python基础学习第一天
查看>>
硬盘存储双寡头之争 希捷重注中国市场或赢大丰收
查看>>
淘宝电影联合华谊的数据报告,还有哪些重要信息?
查看>>
编译安装PHP
查看>>
css position:static 的使用
查看>>