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 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
JS限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
javascript实现的HashMap类代码
Jun 27 Javascript
Sortable.js拖拽排序使用方法解析
Nov 04 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
简单实现jQuery弹幕效果
May 06 jQuery
详解Vue整合axios的实例代码
Jun 21 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 Javascript
openLayer4实现动态改变标注图标
Aug 17 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
学习python可以干什么
2019/02/26 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
师范生自我鉴定范文
2013/10/05 职场文书
校长岗位职责
2013/11/26 职场文书
汽车促销活动方案
2014/03/31 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
Python中的嵌套循环详情
2022/03/23 Python