locationhref(locationhref 无法跳转)
JS中location.href传值问题
location.href一般是在链接后面加上问号来传值,多个值之间用隔开,
举个栗子:
script
?????location.href?=?'localhost:8080/xxx/xxx?a=1b=2c=3';
/script
这中间的 a、b、c 即为你要传递的参数;
在服务端可以解析url参数获得a、b、c的值, 在前端页面上也可以通过js获取这些值
script
?????var?getUrlParam?=?function(name){
????????????var?reg?=?new?RegExp("(^|)"+?name?+"=([^]*)(|$)");
????????????var?r?=?window.location.search.substr(1).match(reg);
????????????if?(r!=null)?return?unescape(r[2]);?return?null;
????????};?
????????alert(getUrlParam('a'))
/script
window.location.href的用法(动态输出跳转)
javascript中的location.href有很多种用法,主要如下。
self.location.href="/url"
当前页面打开URL页面
location.href="/url"
当前页面打开URL页面
windows.location.href="/url"
当前页面打开URL页面,前面三个用法相同。
this.location.href="/url"
当前页面打开URL页面
parent.location.href="/url"
在父页面打开新页面
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提交数据
在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect
做ASP.NET框架页跳转,如果客户要在跳转的时候使用提示,这个就不灵光了,如:
复制代码
代码如下:
Response.Write("
scriptalert('恭喜您,注册成功!');
/script");
Response.Redirect("main.html");
这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。
这时我们采用下面代码试验一下:
ASP.NET框架页跳转的另一实现
复制代码
代码如下:
Response.Write("
script
language=javascriptalert('恭喜您,注册成功!')
/script");
Response.Write("
script
language=javascriptwindow.location.href='main.html'
/script");
这个即实现了我们的要求,在提示后,跳转页面。
最重要的是window.location.href
语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):
如:index.htm页面中有二个框架,分别为
frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。
先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:
复制代码
代码如下:
Response.Write("
script
language=javascriptalert('恭喜您,注册成功!')
/script");
Response.Write("
script
language=javascriptwindow.parent.frameLeft.location.href='main.html'
/script");
这样就搞定了ASP.NET框架页跳转中断的问题。其实asp、php中一般都使用这种方式。
"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页面刷新
window.location.href 和self.location的区别
一、指代不同
1、window.location.href:返回当前窗口在浏览器中就是完整的地址。
2、self.location:返回指定窗口在浏览器中就是完整的地址。
二、作用不同
1、window.location.href:URL 的端口部分。如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符。
2、self.location:查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
三、用法不同
1、window.location.href:除了设置 location 或 location.href?用完整的 URL 替换当前的 URL 之外,还可以修改部分 URL,只需要给 Location 对象的其他属性赋值即可。
2、self.location:表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location 对象所能做的远远不止这些,还能控制浏览器显示的文档的位置。
参考资料来源:百度百科-Location 对象
参考资料来源:百度百科-window.location
location.href在JS中是什么意思?如何使用它?
是跳转的意思,用法如下:
self.location.href="/url" 当前页面打开URL页面;
this.location.href="/url" 当前页面打开URL页面;
parent.location.href="/url" 在父页面打开新页面;
top.location.href="/url" 在顶层页面打开新页面。
Javascript中的location.href有很多种用法,主要如下:
self.location.href="/url" 当前页面打开URL页面,
ocation.href="/url" 当前页面打开URL页面,
windows.location.href="/url" 当前页面打开URL页面,前面三个用法相同。
此外,window.location.href=window.location.href;和window.location.Reload()和都是刷新当前页面。区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据。
"window.location.href"、"location.href"是本页面跳转,"parent.location.href"是上一层页面跳转,"top.location.href"是最外层的页面跳转。
window.location.href的用法
javascript 中的 location.href 有很多种用法,主要如下:
self.location.href="/url" 当前页面打开
location.href="/url" 当前页面打开
windows.location.href="/url" 当前页面打开,前面三个用法相同
this.location.href="/url" 当前页面打开
parent.location.href="/url" 在父页面打开新页面
top.location.href="/url" 在顶层页面打开新页面
location.open("/url"); 打开一个新的窗口页
如果页面中自定义了 frame ,那么可将 parent self top 换为自定义 frame 的名称,效果是在 frame 窗口打开 url 地址