`
天梯梦
  • 浏览: 13731361 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论
阅读更多

出自:http://www.css88.com/archives/2343

 

 

 

看到断桥残雪 对我上一篇日志的回复我也学习了一下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加载性能问题等等,还 有很多东西要学习,

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    JS操作iframe里的dom(实例讲解)

    在实际开发中,需要注意跨域问题,因为出于安全考虑,不同源的`iframe`之间不能自由地进行DOM操作和数据交互,除非两个页面都设置了正确的`CORS`策略。此外,`iframe`的加载可能有延迟,因此在操作`iframe`内的元素...

    原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法

    因此,直接操作iframe内部的DOM元素是不可能的,除非通过特定的JavaScript代码来实现。 在父页面中获取iframe内部的DOM元素可以通过以下步骤实现: 1. 确保iframe元素在父页面中有一个唯一的ID。 2. 使用document....

    Jquery方式获取iframe页面中的 Dom元素

    需要注意的是,使用jQuery操作iframe中的DOM时,必须确保iframe已经完全加载完毕,否则可能无法正确获取其内部的DOM元素。为了处理这种情况,通常我们会将相关操作放在iframe的“load”事件中或者在window的“load”...

    JS未跨域操作iframe里的DOM

    如:index.html内引入iframe,在index内如何用JS操作iframe内的DOM元素? 先贴下index.html和iframe引入的a.html内容。 index-> <iframe src=a.html frameborder=0 name=one id=iframeId></iframe> ...

    iframe自适应高度(DOM动态操作)

    1. **DOM操作**:DOM(Document Object Model)是HTML和XML文档的应用程序接口(API)。通过DOM,开发者可以读取、修改和删除页面内容。 2. **JavaScript定时器**:`setInterval`函数可以定期执行一个函数或指定的一段...

    js操作iframe的一些知识

    然后,你可以通过JavaScript的DOM操作方法动态创建或修改iframe,例如`document.createElement('iframe')`创建一个新的iframe,再通过`appendChild()`添加到页面上。 2. **获取iframe引用**:要操作iframe,首先...

    js调用-嵌入iframe

    JavaScript可以通过DOM(Document Object Model)来操作IFrame,包括获取IFrame、修改其属性、以及与IFrame内的页面进行通信。 - **获取IFrame**:使用`document.getElementById`或`document.querySelector`等方法...

    js调用iframe实现打印页面内容的方法

    jQuery是一个强大的JavaScript库,它提供了一个简洁的API来简化DOM操作、事件处理等。使用jQuery,可以轻松实现区域打印功能。具体步骤如下: 1. 引入jQuery库和对应的打印插件文件。 2. 使用jQuery选择器和事件...

    同域jQuery(跨)iframe操作DOM(实例讲解)

    此时,我们可以结合使用parent.document属性来访问父页面的document对象,再使用find()方法定位到iframe元素,之后可以再次使用contents()方法来获取iframe内部的内容,并进行相应的DOM操作。示例如下: ```...

    mydomtoimage.js

    dom-to-image.js 个人修改源码之后,支持嵌入iframe的网页截图。 导入js,直接调用shotScreen()函数即可。

    js处理iframe的系列问题

    利用JavaScript可以实现对`iframe`中的元素进行操作,例如读取或修改其中的内容。下面将详细介绍如何通过JavaScript来处理`iframe`中的各种问题。 #### 1. 访问`iframe`内部元素 根据提供的代码片段,“获取父页面...

    基于js的iframe 可关闭tab标签组件使用方法

    3. **JavaScript代码**:首先引入`jquery.js`库,它提供了一套强大的DOM操作和事件处理函数,简化了JavaScript编程。然后,编写JavaScript代码来实现tab切换和iframe加载。 ```javascript $(document).ready...

    JS获取iframe内容【简化版】

    - JavaScript可以通过DOM(Document Object Model)操作iframe元素。 - 主要通过`window.frames`或者`document.getElementById('iframeId').contentWindow`来访问iframe内的窗口对象。 - 可以通过`window.frames...

    js-iframe-传值调用实例代码

    这个实例代码“js-iframe-传值调用”旨在演示如何通过JavaScript在父窗口和iframe之间传递数据,实现页面间的交互。我们将详细探讨这个过程中的关键知识点。 首先,我们要理解iframe的基本结构。一个iframe标签通常...

    动态创建iframe,并动态添加js执行代码

    动态创建iframe意味着在网页加载后,通过JavaScript代码创建并插入到DOM(文档对象模型)中,而不是在HTML源代码中静态定义。 以下是一个简单的动态创建iframe的例子: ```javascript // 创建iframe元素 var ...

    js iframe 打印 打印预览 页眉页脚的设置

    在JavaScript中,可以使用`iframe.contentDocument`访问iframe的DOM,从而修改其内容,包括添加页眉和页脚元素。例如: ```javascript var iframeDoc = iframe.contentDocument || iframe.contentWindow.document; ...

    js实现iframe自适应高度

    接下来,我们可以利用JavaScript的DOM操作和事件监听来实现自适应高度的功能。以下是一个基本的实现步骤: 1. **获取`iframe`元素**:通过`document.getElementById`或`querySelector`方法找到页面上的`iframe`元素...

Global site tag (gtag.js) - Google Analytics