博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生JS操作iframe里的dom
阅读量:4710 次
发布时间:2019-06-10

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

转:http://www.css88.com/archives/2343

一、父级窗口操作iframe里的dom

JS操作iframe里的dom可是使用contentWindow属性,contentWindow属性是指指定的frame或者iframe所在的window对象,在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则,必须指定contentWindow属性,contentWindow属性支持所有主流浏览器

相关的还有一个contentDocument属性,这个属性是指指定的frame或者iframe所在的document对象,但是悲剧的是,ie6-ie7并不支持这个属性。

ie6和ie7还可以使用document.frames["iframe Name"]或者document.frames["iframe ID"]来获取相当于contentWindow属性,而firefox和chrome并不支持这些document.frames["iframe Name"]或者document.frames["iframe ID"],但是window.frames["iframe Name"]或window.frames[index](index是索引值)也支持所有主流浏览器

这个可以看实例:

我们知道document对象是window对象的一个子对象,所以我们可以通过document.getElementById(“iframe ID”).contentWindow.document来获取iframe的document对象,相当于contentDocument属性。

二、iframe里的js操作父级窗口的dom

iframe里的js要操作父级窗口的dom,必须搞懂几个对象:

parent是父窗口(如果窗口是顶级窗口,那么parent==self==top),

top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),

self是当前窗口(等价window),

opener是用open方法打开当前窗口的那个窗口;

这样iframe里的js要操作父级窗口的dom可以通过parent,top这些对象来获取父窗口的window对象,例如:

parent.document.getElementById(“dom ID”);

parent,top还能调用父级窗口的的js方法,比如,getIFrameDOM(iID)是父级窗口的一个方法,那么iframe里可以使用parent.getIFrameDOM(“wIframeA”)来调用父级窗口的getIFrameDOM(iID)方法;

————————————————

查看一下JS操作iframe里的dom的demo:

虽然iframe在现在WEB开发中越来越少用到了,但是iframe还有很多值得使用的地方,比如使用iframe解决跨域问题.关于iframe还有很多东西要学习,比如iframe自适应高度,使用iframe解决跨域问题,iframe加载问题,iframe加载性能问题等等,还有很多东西要学习

转载于:https://www.cnblogs.com/leejersey/p/3780452.html

你可能感兴趣的文章
SentOS安装redis
查看>>
其他博客
查看>>
QPS
查看>>
.NET-"/"应用程序中的服务器错误
查看>>
资源搜索引擎
查看>>
JAVA语法基础——数据类型
查看>>
html5 事件
查看>>
证券相关基础概念
查看>>
长按移动cell
查看>>
android:layout_gravity 和 android:gravity 的区别
查看>>
杭电1061
查看>>
mysql join优化
查看>>
thinkphp3.2 批量添加数据
查看>>
How to: Cancel a Task and Its Children
查看>>
VS2013 F12无法转到函数的定义处,总是从“元数据”获取的问题 ——解决方法...
查看>>
Cookie
查看>>
Python列表list对象方法总结
查看>>
Codeforces 1172A Nauuo and Cards
查看>>
1001种玩法 | Tryton:一个通用商务框架
查看>>
[BZOJ2151]种树
查看>>