jquery iframe操作详细解析


Posted in Javascript onNovember 20, 2013

使用jquery操作iframe

1、 内容里有两个ifame

<iframe id="leftiframe"...</iframe>
<iframe id="mainiframe..</iframe>

leftiframe中jQuery改变mainiframe的src代码:
$("#mainframe",parent.document.body).attr("src","http://www.radys.cn")

2、 如果内容里面有一个ID为mainiframe的ifame
  <iframe id="mainifame"...></ifame>
ifame包含一个someID
<div id="someID">you want to get this content</div>
得到someID的内容

  $("#mainiframe").contents().find("someID").html() html 或者 $("#mainiframe").contains().find("someID").text()值

3、在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");

那选择id自然就是依然使用find方法
$(window.frames["iframe1"].document).find("#id")

4、 如上面所示
   leftiframe中的jQuery操作mainiframe的内容someID的内容
   $("#mainframe",parent.document.body).contents().find("someID").html()或者 $("#mainframe",parent.document.body).contents().find("someID").val()

使用JavaScript操纵iframe

框架间的互相引用

一个页面中的所有框架以集合的形式作为window对象的属性提供,例如:window.frames就表示该页面内所有框架的集合,这和表单对象、链接对象、图片对象等是类似的,不同的是,这些集合是document的属性。因此,要引用一个子框架,可以使用如下语法:

window.frames["frameName"];

window.frames.frameName

window.frames[index]

其中,window字样也可以用self代替或省略,假设frameName为页面中第一个框架,则以下的写法是等价的:

self.frames["frameName"]

self.frames[0]

frames[0]

frameName

每个框架都对应一个HTML 页面,所以这个框架也是一个独立的浏览器窗口,它具有窗口的所有性质,所谓对框架的引用也就是对window对象的引用。有了这个window对象,就可以很方便地对其中的页面进行操作,例如使用window.document对象向页面写入数据、使用window.location属性来改变框架内的页面等。

下面分别介绍不同层次框架间的互相引用:

1.父框架到子框架的引用

知道了上述原理,从父框架引用子框架变的非常容易,即:

window.frames["frameName"];

这样就引用了页面内名为frameName的子框架。如果要引用子框架内的子框架,根据引用的框架实际就是window对象的性质,可以这样实现:

window.frames["frameName"].frames["frameName2"];

这样就引用到了二级子框架,以此类推,可以实现多层框架的引用。

2.子框架到父框架的引用

每个window对象都有一个parent属性,表示它的父框架。如果该框架已经是顶层框架,则window.parent还表示该框架本身。

3.兄弟框架间的引用

如果两个框架同为一个框架的子框架,它们称为兄弟框架,可以通过父框架来实现互相引用,例如一个页面包括2个子框架:

<frameset rows="50%,50%">

<frame src="1.html" name="frame1" />

<frame src="2.html" name="frame2" />

</frameset>

在frame1中可以使用如下语句来引用frame2:

self.parent.frames["frame2"];

4.不同层次框架间的互相引用

框架的层次是针对顶层框架而言的。当层次不同时,只要知道自己所在的层次以及另一个框架所在的层次和名字,利用框架引用的window对象性质,可以很容易地实现互相访问,例如:

self.parent.frames["childName"].frames["targetFrameName"];

5.对顶层框架的引用

和parent属性类似,window对象还有一个top属性。它表示对顶层框架的引用,这可以用来判断一个框架自身是否为顶层框架,例如:

//判断本框架是否为顶层框架

if(self==top){

//dosomething

}

Javascript 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
javascript getElementsByName()的用法说明
Jul 31 Javascript
JavaScript中使用concat()方法拼接字符串的教程
Jun 06 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
老生常谈onBlur事件与onfocus事件(js)
Jul 09 Javascript
原生js实现轮播图的示例代码
Feb 20 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 Javascript
JS数据类型判断的几种常用方法
Jul 07 Javascript
JS获取当前日期和时间的简单实例
Nov 19 #Javascript
js 自动播放的实例代码
Nov 19 #Javascript
鼠标滚轴控制文本框值的JS代码
Nov 19 #Javascript
jquery交替变换颜色的三种方法 实例代码
Nov 19 #Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
Nov 19 #Javascript
详解jQuery插件开发中的extend方法
Nov 19 #Javascript
Js 导出table内容到Excel的简单实例
Nov 19 #Javascript
You might like
PHP实现的迷你漂流瓶
2015/07/29 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
定义select的边框颜色
2008/04/28 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
node网页分段渲染详解
2016/09/05 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
Vue Socket.io源码解读
2018/02/07 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
会计应聘求职信范文
2013/12/17 职场文书
自我检讨书范文
2015/01/28 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis