页面跳转刷新

无论在静态页面还是动态输出页面中window.location.href都是不错的用了跳转的实现方案

javascript中的location.href有很多种用法,主要如下。

1 self.location.href="/url" 当前页面打开URL页面
2 location.href="/url" 当前页面打开URL页面
3 windows.location.href="/url" 当前页面打开URL页面,前面三个用法相同。
4 this.location.href="/url" 当前页面打开URL页面
5 parent.location.href="/url" 在父页面打开新页面
6 top.location.href="/url" 在顶层页面打开新页面

如果页面中自定义了frame,那么可将parent self top换为自定义frame的名称,效果是在frame窗口打开url地址

此外,window.location.href=window.location.href;和window.location.Reload()和都是刷新当前页面。

区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据。

window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面,

如:index.htm页面中有二个框架,分别为 frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。

先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:

1 < script language=javascript>alert('恭喜您,注册成功!')< /script>
2 < script language=javascript>window.parent.frameLeft.location.href='main.html'< /script>

"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页面跳转

如果D页面中有form的话,

<form>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转
 
关于页面刷新,D 页面中这样写:"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

"top.location.reload();": A页面刷新

 

posted @ 2016-10-10 13:52  user_孙  阅读(2635)  评论(0编辑  收藏  举报