技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> JS操作iframe里的dom

JS操作iframe里的dom

浏览:2357次  出处信息

    看到断桥残雪对我上一篇日志的回复我也学习了一下JS操作iframe里的dom;主要参考了断桥残雪的《用JavaScript在IE和Firefox下进行iframe的DOM操作》和支付宝UED的《用JS访问操作iframe里的dom》,非常不错的两篇文章。

一、父级窗口操作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是索引值)也支持所有主流浏览器

    这个可以看实例:http://www.css88.com/demo/iframe-correspond/index-test.html

    我们知道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:http://www.css88.com/demo/iframe-correspond/

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

建议继续学习:

  1. iframe大小自适应    (阅读:8883)
  2. iframe里src="about:blank"的问题。    (阅读:6862)
  3. PHP Simple HTML DOM Parser 是一个不错的html/xml分析类    (阅读:5789)
  4. 跨域请求的iframe解决方案(1)    (阅读:5409)
  5. BO报表系统嵌入Iframe在firefox下的错误修改    (阅读:4643)
  6. ie下iframe输入框焦点丢失解决方案    (阅读:4309)
  7. 三谈Iframe自适应高度    (阅读:3651)
  8. 仅100行的JavaScript DOM操作类库    (阅读:3437)
  9. phpQuery:像jQuery一样处理DOM    (阅读:3333)
  10. 使用document.domain和iframe实现站内AJAX跨域    (阅读:3329)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1