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


Posted in Javascript onAugust 09, 2014

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页面刷新

Javascript 相关文章推荐
Javascript 八进制转义字符(8进制)
Apr 08 Javascript
JS跨域代码片段
Aug 30 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
javascript+html5实现绘制圆环的方法
Jul 28 Javascript
js中unicode转码方法详解
Oct 09 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
javascript实现秒表计时器的制作方法
Feb 16 Javascript
ES5学习教程之Array对象
Apr 01 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
Vue获取页面元素的相对位置的方法示例
Feb 05 Javascript
微信小程序自定义支持图片的弹窗
Dec 21 Javascript
javascript父、子页面交互技巧总结
Aug 08 #Javascript
jQuery的animate函数学习记录
Aug 08 #Javascript
jQuery中get和post方法传值测试及注意事项
Aug 08 #Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 #Javascript
js事件监听机制(事件捕获)总结
Aug 08 #Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 #Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
Aug 08 #Javascript
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
深入分析element ScrollBar滚动组件源码
2019/01/22 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
Python批量按比例缩小图片脚本分享
2015/05/21 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
python中常用的数据结构介绍
2021/01/12 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
颁奖典礼主持词
2014/03/25 职场文书
师德演讲稿范文
2014/05/06 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
水电维修专业推荐信
2014/09/06 职场文书
立案决定书范文
2015/06/24 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js