js 页面刷新location.reload和location.replace的区别小结


Posted in Javascript onDecember 24, 2009

首先介绍两个方法的语法:
reload 方法,该方法强迫浏览器刷新当前页面。
语法: location.reload([bForceGet])
参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")

replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法: location.replace(URL)
在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到: 当调用 location.reload() 方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback 的。这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写: location.replace(location.href)

下面是相关的应用与知识点:
window.location.href
window.top.location.replace("https://3water.com")
top.location.href("https://3water.com")
window.navigate ("https://3water.com")
Html:
<meta http-equiv="Refresh" content="0; url=http://baidu.com/" >
---------------------------------------
URL即:统一资源定位符 (Uniform Resource Locator, URL)
完整的URL由这几个部分构成:
scheme://host:port/path?query#fragment
scheme:通信协议
常用的http,ftp,maito等
host:主机
服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
port:端口号
整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
path:路径
由零或多个"/"符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
query:查询
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用"&"符号隔开,每个参数的名和值用"="符号隔开。
fragment:信息片断
字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.)
对于这样一个URL
https://3water.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

我们可以用javascript获得其中的各个部分
1, window.location.href
整个URl字符串(在浏览器中就是完整的地址栏)
本例返回值: https://3water.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:3water.com
4,window.location.port
URL 的端口部分
如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere

Javascript 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
关于Mozilla浏览器不支持innerText的解决办法
Jan 01 Javascript
javascript学习笔记(四)function函数部分
Sep 30 Javascript
本人自用的global.js库源码分享
Feb 28 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
JS敏感词过滤代码
Dec 23 Javascript
Bootstrap导航条鼠标悬停下拉菜单
Jan 04 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
Jan 18 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
Nov 06 Javascript
JavaScript实现与web通信的方法详解
Aug 07 Javascript
CSS+Jquery实现页面圆角框方法大全
Dec 24 #Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 #Javascript
javascript下arguments,caller,callee,call,apply示例及理解
Dec 24 #Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 #Javascript
window.js 主要包含了页面的一些操作
Dec 23 #Javascript
js 效率组装字符串 StringBuffer
Dec 23 #Javascript
jquery 表单取值常用代码
Dec 22 #Javascript
You might like
论建造顺序的重要性
2020/03/04 星际争霸
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP查询网站的PR值
2013/10/30 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python编程之属性和方法实例详解
2015/05/19 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
Python学生信息管理系统修改版
2018/03/13 Python
python numpy 按行归一化的实例
2019/01/21 Python
Python shutil模块用法实例分析
2019/10/02 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Django多个app urls配置代码实例
2020/11/26 Python
大学生找工作推荐信范文
2013/11/28 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
2015年营业员工作总结
2015/04/23 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
Python+Appium新手教程
2021/04/17 Python