js 父窗口可以找到子窗口的元素吗????
子窗口放在iframe里面
子窗口放在iframe里面
解决方案 »
- Jquery如何获取border-color的值 (兼容FF)
- JS弹出问题
- 子窗口操作父窗口
- 请问各位大哥,谁有"得到上传文件大小"的JavaScript代码,共享一下吧,先谢啦
- 菜鸟问题:刷新就是浏览器重发最近一次的请求(即得到当前页面的那个请求)?后退呢?前进呢?
- 大虾能帮忙吗?------上传的附件名,放在一个label里面,我想超连接点击查看!??马上结帖!
- 怎样用javascript控制“刷新“呀?
- 小问题,请精通css的大虾回答
- 重置效果问题
- 怎么改变url参数值,并且页面不刷新
- jquery,想点击A标签的时候,弹出一个层出来。A标签是有ID的。该怎么做啊。向各路大虾指教啊。
- 火狐和chome都用类似onpropertychange的回调要怎么做?
一、父级窗口操作iframe里的domJS操作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操作父级窗口的domiframe里的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加载性能问题等等,还有很多东西要学习,
<!DOCTYPE HTML>
<html lang="">
<head>
<meta charset="gbk">
<title></title>
</head>
<body>
<iframe src="2.html" onload="alert(contentWindow.document.getElementById('test').innerHTML)"></iframe>
</body>
</html>2.html<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
</style>
</head>
<body>
<div id="test">123</div>
</body>
</html>