`

js中iframe的操作【转】

 
阅读更多

iframe是一个非常有用的标签,先不说早期用它来模型Ajax效果,现在富本文编辑器它也绝对是主角。但是它又是一个特别的元素,最早出现IE4.0中,后纷纷被其他游览器吸纳,由于IE不开源,iframe在各游览器中都有很大差异。本文针对IE9、FF、Chrome三大浏览器进行分析。

1.获得iframe对象

  我们常用的获得iframe的方式一般有两种

  var obj = document.getElementById(“iframe”);//获取对象 

  var dom = window.frames[“iframe”];//获取DOM
  
  如果只想改变iframe的 src 或者 border ,scrolling 等attributes,就需要用到第一种方法。
  但是如果想取得iframe所包含的页面(不是iframe本身)。就需要使用第二种方法,因为它取得的是一个完整的DOM模型,比如想得到iframe的document.body的内容

操作iframe中的DOM元素,需要注意以下两点:

  1. 必须先获取指定iframe的document
  2. 对于1,必须在页面load完以后才能获取;
但是请注意:chrome浏览器只能使用在HTTP协议中,在本地js文件不支持Iframe包含页面的访问。
2.改变iframe本身的属性
  document.getElementById(“iframe”).src="a.html";
  document.getElementById(“iframe”).frameborder="200";
 
2.在父窗体中访问子窗体对象
var value=window.frames[“frm”].document.getElementById("txt").value;
window.frames[“frm”]是获得子窗口的window对象
 
3.在子窗口访问父窗口对象
var value=window.parent.document.getElementById("txt").value;
其中:window.parent是获得父窗口的window对象。
 
 

4.iframe高度自适应

scrollHeight返回的是一个数字,没有带单位

在IE 下如果没有DTD声明,则按loose.dtd 解析,在设置对像的宽高时,会自动的加上单位"px"

将iframe的高度设为document.body的高度,也并不一定能成功,因为document.body的高度可能没有整个档的高度大,如使用了层

正确写法如下

.在子页面中进行设置frame的高度

var frm=window.parent.document.getElementById("frm");//获得父窗口

frm.style.height=document.body.scrollHeight + "px";//设置父窗口的高度

 

5.contentWindow和contentDocument

我们开始使用window.frames["name"]获得frame中的页面window对象

使用document.getElementById(id)只能获得frame对象

但是通过frame对象的contentWindow属性或contentDocument也可以获得

在这里由于frame存在跨域访问限制,所以用法不一。

 

chrome:iframeElement.contentDocument
firefox:iframeElement.contentDocument
ie:element.contentWindow.document

代码

var dom=document.getElementById("frm");

var value;

if(dom.conentWindow){

value=dom.conentWindow.document.getElementById("txt").value;//IE

}else{

value=dom.conentDocument.getElementById("txt").value;//FF,chrome

}

 

 

总结:在网页中,iframe的用法非常多,主要应用于伪ajax、嵌套页面、页面重用。所以在网页中具有一定的重要性,本文主要

在iframe的对象获取、窗口互访问、自适应高度等常用功能进行分析代码实现

分享到:
评论

相关推荐

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

    在JavaScript中,操作`iframe`内的DOM元素是常见的需求,特别是在构建复杂的网页应用时。`iframe`(Inline Frame)是一种可以在HTML文档中嵌入另一个HTML文档的元素,它允许我们实现页面分隔、加载外部资源或者创建...

    js操作iframe的一些知识

    ### JS操作Iframe的知识点详解 #### 一、概述 在网页开发中,经常会遇到需要通过JavaScript来控制或操作Iframe元素的情况。Iframe(Inline Frame)是一种可以在当前页面内嵌入其他页面的方式,常用于广告展示、...

    js调用-嵌入iframe

    综上所述,"js调用-嵌入iframe"涉及到的主要知识点包括IFrame的基本使用、JavaScript与IFrame的交互以及测试中的注意事项。理解并掌握这些内容,对于网页开发尤其是动态内容加载和页面组件的复用具有重要意义。

    解决JS跨域访问IFrame的解决方案

    在Web开发中,JavaScript(JS)的同源策略限制了不同源之间进行交互,包括从一个页面中的脚本访问另一个不同源的IFrame内容。"解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中...

    js处理iframe的系列问题

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

    JS页面跳转和js对iframe进行页面跳转、刷新

    在IT领域,特别是前端开发中,JavaScript(简称JS)被广泛用于实现网页的动态功能,包括页面跳转和对iframe内的页面进行跳转与刷新。本文将深入解析JS页面跳转的各种方法,以及如何利用JS操作iframe进行页面跳转和...

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

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

    JS去除iframe滚动条的方法

    在介绍JS去除iframe滚动条的方法之前,首先需要理解iframe元素在HTML中的作用。iframe元素代表了一个嵌入的网页,允许在一个HTML页面中嵌入另一个文档,这在多种场景下非常有用,比如页面中嵌入第三方应用的界面等。...

    javascript写的可拖动的iframe

    在本文中,我们将深入探讨如何使用JavaScript实现一个可拖动的iframe。JavaScript是一种强大的客户端脚本语言,常用于网页交互和动态效果的实现。在这个案例中,我们将关注于利用JavaScript来增强iframe的功能,使其...

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

    在网页开发中,JavaScript(js)经常被用来增强用户体验,特别是在构建动态交互式的用户界面时。本教程将详细讲解如何使用JavaScript实现一个可关闭的iframe内嵌tab标签组件。这个组件能够帮助用户在同一个页面中...

    用js互相调用iframe页面内的js函数

    标题提到的问题是在各种浏览器中,尤其是考虑到跨浏览器兼容性时,如何用JS实现主页面与`iframe`页面间的函数调用。在IE、Firefox和Chrome等现代浏览器中,有一些不同的处理方式。 首先,获取`iframe`页面的引用是...

    js+iframe

    js 操作iframe

    js 操作 frameset frame iframe对象

    JS 操作 Frameset、Frame、Iframe 对象 Frameset、Frame、Iframe 是 HTML 中的框架编程概念,它们可以将一个 HTML 页面分割成多个独立的区域,每个区域可以显示一个独立的 HTML 页面。JS 操作 Frameset、Frame、...

    JS获取iframe内容【简化版】

    本文将详细介绍如何通过JavaScript(简称JS)来获取一个内嵌在当前页面中的iframe的内容。这种方法特别适用于那些需要动态加载或更新iframe内部数据的应用场景。我们将从基本原理出发,逐步深入到具体的实现细节,并...

    js实现iframe自适应高度

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

    JS操作iframe里的dom

    在本篇文章中,我们将深入探讨如何使用JS在iframe内进行DOM操作。 首先,理解iframe的基本概念至关重要。iframe(Inline Frame)是HTML中的一个元素,允许在同一个HTML文档中嵌入另一个HTML文档。这在需要在页面中...

    iframe框架\JS获取iframe元素

    本文将详细介绍如何使用JavaScript来获取`iframe`元素,并进行相关的操作,包括在不同浏览器环境下的兼容性处理。 #### 二、IE下访问操作`iframe`内容 在Internet Explorer浏览器中,可以通过多种方式来访问`iframe...

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

    这里的`id`属性用于后续JavaScript操作中对iframe的引用。 在js-iframe-传值调用实例中,我们有以下两个主要部分: 1. **上半部分(父窗口)**:包含一个输入框和一个按钮。用户在输入框中输入信息,点击按钮后,...

    javascript 关闭iframe外层的div容器

    在JavaScript编程中,有时我们需要处理嵌入在页面中的`iframe`元素,并可能需要与外部页面交互,例如关闭`iframe`外部的某个`div`容器。这个需求通常出现在弹窗或者模态框的场景中,`iframe`用于承载特定的内容,而...

Global site tag (gtag.js) - Google Analytics