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 相关文章推荐
js arguments.callee的应用代码
May 07 Javascript
javascript textarea光标定位方法(兼容IE和FF)
Mar 12 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
Jan 20 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
Aug 07 Javascript
JS操作CSS随机改变网页背景实现思路
Mar 10 Javascript
js浏览器本地存储store.js介绍及应用
May 13 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 Javascript
vue的mixins属性详解
Mar 14 Javascript
JavaScript引用类型Function实例详解
Aug 09 Javascript
vue中监听返回键问题
Aug 28 Javascript
JS实现打字游戏
Dec 17 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
php实现mysql数据库备份类
2008/03/20 PHP
php防攻击代码升级版
2010/12/29 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
python中定义结构体的方法
2013/03/04 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python将图片转换为字符画的方法
2020/06/16 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
python求最大连续子数组的和
2018/07/07 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
Python办公自动化PPT批量转换操作
2021/09/15 Python