window.parent.location(windowparentlocationreload)

http://www.itjxue.com  2023-01-26 05:59  来源:未知  点击次数: 

window.open和window.parent的区别

今天总结一下js中几个对象的区别和用法:

首先来说说 parent.window与top.window的用法

"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:第一个父窗口的对象

下面来重点看看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.getElementByIdx_x_x_x("span1").innerText=window.parent.document.getElementByIdx_x_x_x("username").value;

}

/script

/head

body

span文本框值为:/spanspan id="span1"/spanbr /

input type="button" value="获取父窗口内的文本框值" onclick="getpValue();"

/body

/html

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

script type="text/javascript"

function getpValue()

{

document.getElementByIdx_x_x_x("span1").innerText=window.opener.document.getElementByIdx_x_x_x("username").value;

}

/script

/head

body

span文本框值为:/spanspan id="span1"/spanbr /

input type="button" value="获取父窗口内的文本框值" onclick="getpValue();"

/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();

就总结到这里,这些对象很实用

多思考,多创新,才是正道!

子窗口怎样获取父窗口的地址?盼高手!

这个,需要用客户端的 JS 脚本实现

script type="text/javascript"

window.alert(window.parent.location.href);

/script

window.parent.location.reload()

window.parent.location.reload()

让打开这个窗口的父窗口刷新,然后本子窗口关闭!

window.parent.HideThisDiv()

应该是让打开这个窗口的父窗口的某个DIV影藏

javascript:history.back()

就是后退啊!和浏览器里面的后退按钮一样!javascript:history.back(-1)就是后退一页

iframe中页面跳转之后如何获取父窗口

输出脚本

C# code

string js = "scriptwindow.parent.location.href='页面URL';/script";

ClientScript.RegisterClientScriptBlock(this.GetType(), "myJS", js);

或者

JScript code

window.parent.location.href='';

Javascript刷新页面的几种方法:

1????history.go(0)

2????window.location.reload()

?????window.location.reload(true)

3????location=location

4????location.assign(location)

5????document.execCommand(''Refresh'')

6????window.navigate(location)

7????location.replace(location)

8????document.URL=location.href

??

Frame框架:

frame.html:

frameset?rows="50%,50%"

???????frame?name=top?src="top.html"

???????frame?name=bottom?src="bottom.html"

????/frameset

七种语句:

语句1.?window.parent.frames[1].location.reload();

????语句2.?window.parent.frames.bottom.location.reload();

????语句3.?window.parent.frames["bottom"].location.reload();

????语句4.?window.parent.frames.item(1).location.reload();

????语句5.?window.parent.frames.item(''bottom'').location.reload();

????语句6.?window.parent.bottom.location.reload();

????语句7.?window.parent[''bottom''].location.reload();

??

top.html?页面的代码如下:

input?type=button?value="刷新1"?onclick="window.parent.frames[1].location.reload()"

??

bottom.html页面:

body?onload="alert(''我被加载了!'')"

??????h1This?is?the?content?in?bottom.html./h1

????/body

??

1.window指代的是当前页面,例如对于此例它指的是top.html页面。

????2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是frame.html。

????3.frames是window对象,是一个数组。代表着该框架内所有子页面。

????4.item是方法。返回数组里面的元素。

????5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。

??

如果想关闭窗口时刷新或者想开窗时刷新的话,在body中调用以下语句即可。

body?onload="opener.location.reload()"?开窗时刷新

????body?onUnload="opener.location.reload()"?关闭时刷新

??

//子窗口刷新父窗口

script?language=JavaScript

????self.opener.location.reload();

/script

( 或 a?href="javascript:opener.location.reload()"刷新/a???)

window.location.href、parent.location.href和top.location.href区别

在前端页面中,改变如下几个变量的值:

都可以实现页面跳转。

但是,改变这几个值达到的页面跳转效果,还是有区别的。下面通过例子说明。

在同一个目录下,新建如下几个html文件。

(1) Top.html

(2) Parent.html

(3) Test.html

在浏览器中打开 Top.html ,效果如下:

点击前面四个按钮可以看到如下效果。

PS: 第三个按钮 挑转(this.location.href) 这种挑转方式,在我的macos系统chrome浏览器上不起作用。

点击第5个按钮 挑转(parent.location.href) ,可以看到如下效果,也就是父页面被刷新。

点击第6个按钮 挑转(top.location.href) ,可以看到如下效果,也就是浏览器标签页中的整个页面被刷新。

到这里,这几个挑转的区别已经很清楚了。

PS: 在试验的时候,点击一个按钮之后,直接点击浏览器的上一页功能,即可将iframe页面中刷新的内容,回退到上一个页面。也就是说,浏览器的回退,应该不是针对整个页面的,应该只是针对一个iframe来做的回退到上一个页面。

参考资料:

详解location.href几种用法的区别

我想点击安全退出时整个框架页面全部跳转到指定页面,网页是html代码

你用了 frameset 框架做的 是吧,但是你退出的时候 只是左边的一个页面显示了退出页面,而不是整个大的页面被退出页面替换掉 。

而你现在要实现的就是点击右边退出的时候 整个浏览器的地址就变成退出的页面。

这个很好做,只需要 利用js控制:

点击安全退出的时候出发click事件:

window.parent.location.href = "退出.html";

先试试.

如果你不会用js ,那你就这样写:

a href="javascript:window.parent.location.href = '退出.html';"安全退出/a

退出.html是你自己的一个退出界面,根据你自己的改!

(责任编辑:IT教学网)

更多

相关CMS技巧文章

推荐CMS技巧文章