补充资料转自:http://www.cnblogs.com/superfeeling/archive/2011/09/14/2176435.html
补充资料
1.opener:指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。
2.top:
该变更永远指分割窗口最高层次的浏览器窗口。
3.parent:
该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第3层的分割窗口可以用parent变量引用第2层窗口,用top引用顶层窗口。
对于窗体中的frame和iframe加载的页面元素来说。parent 返回的时包含该iframe的页面窗口引用,top则返回最上层的窗口引用,self当然返回的仍然是自身的引用。
4. self,window都是获取当前页面窗口自身对象的引用
使用document.getElementById("IframeA")取到的是iframe标签对象,通过该对象可以获取iframe的各个属性,例如src、frameborder、style等,但是不能获取到iframe所包含的子页面的各个对象。;
使用document.frames("IframeA")取到的是iframe组件对象,通过该对象可以获取到iframe所包含的页面的子页面的各个对象,例如子页面的window对象,但是不能获得iframe标签得各个属性,例如上面说到的src等
1.html
<script>
function check(){
var obj1=document.getElementById("myframe");
alert(obj1.src);
//alert(obj1.window.document.myform.username.value);//Error
var obj2=document.frames("myframe");
alert(obj2.window.document.myform.username.value);
//alert(obj2.src);//Error
}
</script>
<body onload="check()">
<iframe id="myframe" name="myframe" src="2.html" frameborder="3" style="width:300;height:200;border-width:1;border-color:red;border-style:solid"></iframe>
</body>
2.html
<body>
<form name="myform">
用户名:<input type="text" name="username" value="test" />
</form>
</body>
附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系:Windwo对象→Parent对象→Frame对象→Document对象→Form对象,
如下:parent.frame1.document.forms[0].elements[0].value;
index.html包含两个iframe,两个iframe的src分别是index1.html和index2.html
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<iframe src="index1.html" width="100%" height="300" name='if1'>
</iframe>
<iframe src="index2.html" width="100%" height="300" name='if2'>
</iframe>
</body>
</html>
index1.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
function init()
{
alert(parent.frames['if2'].document.getElementById('d2').innerText);
}
window.onload = init;
</script>
</head>
<body>
<div id='d1'>hello world</div>
</body>
</html>
index2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<div id='d2'>hello java</div>
</body>
</html>
分享到:
相关推荐
同源策略限制了来自不同源的脚本之间的直接交互,这意味着如果IFrame加载的是一个与主页面不同的域名下的资源,那么主页面的JavaScript将无法访问IFrame内部的DOM,包括其Cookies和Session数据。此外,IE浏览器对于...
- **Iframe**:`<iframe>`(Inline Frame)是HTML5中的元素,用来在当前页面内嵌入另一个HTML文档。它可以在不离开当前页面的情况下展示其他网页内容。 - **Parent Page**:父页面指的是包含`frame`或`iframe`的页面...
URL=http://c98.yeah.net'>`**: 设置页面在指定时间后自动跳转到另一个 URL。 **7. 邮件链接** - **`<a href='mailto:aaa@bbb.com?subject=ccc&body=xxxyyy'>`**: 创建邮件链接。 **8. 滚动到指定位置** - **`...
本文提到了一种解决方案,即通过修改iframe的src属性,使iframe加载一个特定的页面,并在该页面中执行代码来实现跨域数据获取和通信。 知识点八:使用document.domain解决跨域问题 在某些情况下,通过设置document....
在IT领域,特别是Web开发中,`common.js`文件常常被用于封装一些通用的功能或者辅助性的函数,以便于其他模块或页面能够复用这些代码逻辑,提高开发效率及代码的可维护性。根据给定的文件信息,我们可以从中提取出...
在web应用中,可以通过JavaScript触发打印功能,或者使用PDF.js(一个能够在网页中直接显示PDF文件的JavaScript库)这样的工具来实现无需下载就可以直接在浏览器中预览PDF文件。 总结来说,文档详细介绍了在Linux/...
`querySelectorAll`是Document对象的一个方法,用于选取页面中的元素。 - c. `children`是Element对象的一个属性,而不是Document对象的方法。 - d. `ajax`不是Document对象的方法,它是异步请求的一种技术。 ####...