Html之frameset,iframe框架之间如何互相调用变量、函数-yellowcong

来源:互联网 发布:linux同名文件夹合并 编辑:程序博客网 时间:2024/06/11 03:59

对于frameset框架中,子类的iframe会遇到,需要调用父类界面的数据的问题,这时候我们就需要解决这个问题了,通过窗口的frames数组,获取的都是window对象,不是document对象,需要获取到document对象后,再获取里面的元素。

1、父类调用子frame

父框架调用子框架的变量或函数

frames[0].a;frames[0].refresh(); //进行刷新操作alert(frames[0].location.href);#这个frames[] 获取的是frameset的对象的window,但是不是document对象,需要获取到docment对象,然后获取里面的元素和方法//通过js原生语法获取frames[0].document.getElementById("kaisu")//通过jquery的方式获取子类画面的元素$(frames[0].document).find("#kaisu")

这里写图片描述

2、子类调用父类frame

//获取到父类的window对象window.parent.a; window.parent.refresh();//判断是否是顶层的frame,如果不是就获取父类的frame,获取里面元素if(self !=window.top){    $(window.parent.document).find("#btnPrint").show();    $(window.parent.document).find("#btnWord").show();}//子类获取父类节点的jquery方法$("#kykShoInNameKbnHid", window.parent.document).val()

3、兄弟框架之间的调用

可以通过它们的父框架来相互调用,可以这样做

//通过共同的父类来获取到兄弟节点的window对象self.parent.frames['child1'];self.parent.frames['child2'];

4、多层嵌套调用

一般多层调用的这种方式也不多,不建议使用

//调用第一层 frame里面的 第二层 framewindow.frames[0].frames[2];window.frames['child_1'].frames['sub_child_3'];

5、顶层判断

首先需要判断是否为顶层框架,也就是根(是不是父类窗口的情况),可以这样来做:

if(self==window.top){        //....}/*window的另外一个属性top,它表示对顶层框架的引用,这可以用来判断一个框架自身是否为顶层框架*/
阅读全文
0 0
原创粉丝点击