window.location.href的用法(动态输出跳转)

 更新时间:2014年08月09日 12:16:37   转载 投稿:mdxy-dxy  
无论在静态页面还是动态输出页面中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("< script>alert('恭喜您,注册成功!');< /script>"); 
Response.Redirect("main.html");  

这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。

这时我们采用下面代码试验一下:

ASP.NET框架页跳转的另一实现

复制代码 代码如下:

Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>"); 
Response.Write("< script language=javascript>window.location.href='main.html'< /script>");

这个即实现了我们的要求,在提示后,跳转页面。

最重要的是window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):

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

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

复制代码 代码如下:

Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>"); 
Response.Write("< script language=javascript>window.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页面刷新

相关文章

  • 关于不同页面之间实现参数传递的几种方式讨论

    关于不同页面之间实现参数传递的几种方式讨论

    下面小编就为大家带来一篇关于不同页面之间实现参数传递的几种方式讨论。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • JavaScript中的Math.LOG2E属性使用详解

    JavaScript中的Math.LOG2E属性使用详解

    这篇文章主要介绍了JavaScript中的Math.LOG2E属性使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • Javascript this 关键字 详解

    Javascript this 关键字 详解

    Javascript是一种很灵活的语言, 而This关键字又是灵活中的灵活, 但是因为它的灵活, 也注定了它的难用.以前我用this的时候, 都会觉得不踏实, 老是担心它不知道怎么地就会指到另外的什么地方.其实, 这都是因为, 我们对它的不了解.
    2014-10-10
  • javascript数组操作方法小结和3个属性详细介绍

    javascript数组操作方法小结和3个属性详细介绍

    这篇文章主要介绍了javascript数组操作方法小结和3个属性详细介绍,需要的朋友可以参考下
    2014-07-07
  • 学JavaScript七大注意事项【必看】

    学JavaScript七大注意事项【必看】

    下面小编就为大家带来一篇学JavaScript七大注意事项【必看】。小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-05-05
  • Javascript 赋值机制详解

    Javascript 赋值机制详解

    本文通过实例详细介绍了javascript的赋值机制,是篇非常不错的文章,这里推荐给小伙伴们。
    2014-11-11
  • Javascript学习笔记8 用JSON做原型

    Javascript学习笔记8 用JSON做原型

    在Javascript学习笔记5 类和对象中,我简单地提到了利用JSON去构造一个对象。
    2010-01-01
  • js 操作符汇总

    js 操作符汇总

    本文并没有详细的介绍js所有的操作符,只是就js在操作符上与其它常用语言不一样的独特之处列举一二,了解了这些,至少不会让我们在读一些开源框架js代码时一头雾水,并且可以让我们的js代码更简洁、更安全(少出bug)。
    2014-11-11
  • JavaScript CSS修改学习第三章 修改样式表

    JavaScript CSS修改学习第三章 修改样式表

    在这一章我打算通过直接修改页面的样式表而不是通过访问元素的办法来修改PRE的背景颜色。不幸的是,浏览器严重的不兼容性让这个代码基本上不能使用。
    2010-02-02
  • 浅析Javascript ES6中的原生Promise

    浅析Javascript ES6中的原生Promise

    ES6标准出炉之前,一个幽灵,回调的幽灵,游荡在JavaScript世界。正所谓世界本没有回调,写的人多了也就有了。接下来就来简单介绍Javascript ES6中的原生Promise,有需要的可以参考借鉴。
    2016-08-08

最新评论