"window.location.href"、"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转
举例说明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转
现在终于明白了连接的时候target的用法了:
_blank:重新打开一个窗口
_parent:父窗口执行重定向
_self:自身页面重定向
_top:第一个父窗口重定向
综上所述可知:
parent.window:父窗口对象
top.window:第一个父窗口的对象
2、window.parent与window.openner区别:
window.parent 是iframe页面调用父页面对象,当我们想从iframe内嵌的页面中访问外层页面是可以直接利用window.parent获取。
例子如下:
a.html
<html> <head> <title>父页面</title> </head> <body> <form id="form1" action=""> <div> 输入值: <input type="text" name="username" id="username" /><br /> <iframe src="b.html" width="400px" height="300px"></iframe> </div> </form> </body> </html>b.html
<html> <head> <script type="text/javascript"> function getpValue() { document.getElementById("span1").innerText=window.parent.document.getElementById("username").value; } </script> </head> <body> <span>文本框值为:</span><span id="span1"></span><br /> <input type="button" value="获取父窗口内的文本框值" onclick="getpValue();"> <br /><br /> 请在IE下测试,火狐不兼容innerText。 </body> </html>3、window.opener是window.open或超链接<a>打开的子页面调用父页面对象。
例子如下:
a.html
<html> <head> <title>父页面</title> <script type="text/javascript"> function openB() { window.open('b.html','b','width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=200,top=100'); } </script> </head> <body> <form id="form1" action=""> <div> 输入值: <input type="text" name="username" id="username" /><br /> <input type="button" value="打开窗口B" onclick="openB();" /><br /> <a href="b.html" target="_blank">超链接打开B页面</a> </div> </form> </body> </html>b.html
<html> <head> </head> <body> <span>我爱<strong>模板</strong>网:window.parent与window.openner的区别</span> <br /><br /> 注:如果在IE测试,请把“Internet选项”-->“选项卡浏览设置”-->“遇到弹出窗口时”设置成“始终在新窗口中打开弹出窗口”,否则看不到效果。 </body> </html>下面来举几个常用的例子:
parent.window与top.window一般在分割的页面即 frameset或iframe中使用
注销整个框架后返回到login.aspx:parent.window.location='Login.aspx'或者
top.window.location='Login.aspx'
window.parent也是常在框架中使用,
刷新:window.parent.location.reload();或者刷新某个框架:window.parent.MainForm.location.reload();
获得其他框架的元素值:window.parent.MainForm.form1.text1.value;
window.opener主要是获得通过超链接或者 window.open() 打开本身页面的页面的一些,比如获得值,刷新等
刷新:window.opener.location.reload();
获值:window.opener.document.getElement("txtName").value;
后退:top.playFrame.history.go(-1);
前进: top.playFrame.history.go(1);
刷新: top.playFrame.location.reload();
本文转载自:脚本之家。