top,parent,opener,iframe

1top 分割窗口最高层次的浏览器窗口。采用如下方式进行访问:top.frames['sub_frm'].*********

2opener:是指用window.open等方式创建的新窗口对应的原始窗口。

3parent:当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第3层的分割窗口可以用parent变量引用第2层窗口,用top引用顶层窗口。 
4iframe:对于窗体中的frameiframe加载的页面元素来说。parent 返回的时包含该iframe的页面窗口引用,top则返回最上层的窗口引用,self当然返回的仍然是自身的引用。

在一个页面含有某个iframe,其id="iframeA" name="IframeA",此时使用document.getElementById("IframeA")取到的是iframe标签对象,通过该对象可以获取iframe的各个属性,例如srcframeborderstyle等等,但是不能获取到iframe所包含的子页面的各个对象。如果使用document.frames("IframeA")取到的是iframe组件对象,通过该对象可以获取到iframe所包含的页面的子页面的各个对象,例如子页面的window对象,但是不能获得iframe标签得各个属性,例如上面说到的src等等。

附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系:Windwo对象→Parent对象→Frame对象→Document对象→Form对象, 如下:

parent.frame1.document.forms[0].elements[0].value;

问题:在一个页面嵌入框架<iframe>,然后在框架中使用jvascript脚本:parent.xx.value='xxxxx'; IE中可以正常看到赋值,但是在firefox中则不能完成赋值。请问在firefox中调用父框架的对象应该是哪个,是否和IE兼容? 
解答:window.parent.document.form.xx.value='xxxxx';   window可省略。 
parent.document.form.xx.value='xxxxx'; 
parent.document.getElementById("xx").value='xxxxx';

你可能感兴趣的:(top,parent,opener,iframe)