700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > js实现页面跳转 location.href和location.replace和location.reload的区别

js实现页面跳转 location.href和location.replace和location.reload的区别

时间:2019-02-10 17:18:06

相关推荐

js实现页面跳转 location.href和location.replace和location.reload的区别

每个项目产品都会让你加埋点,你是愿意花几天一个个加,还是愿意几分钟一个小时加完去喝茶聊天?来试试这520web工具, 高效加埋点,目前我们公司100号前端都在用,因为很好用,所以很自然普及开来了,推荐给大家吧

/

自己开发所以免费,埋点越多越能节约时间,点两下埋点就加上了,还不会犯错,里面有使用视频,反正免费 😄

reload 方法,该方法强迫浏览器刷新当前页面。

语法: location.reload([bForceGet])

参数: bForceGet,可选参数,默认为false,从客户端缓存里取当前页。如果设置为true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")

replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。

语法: location.replace(URL)

参数: URL

在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。

可以想到:当调用 location.reload() 方法的时候,页面此时在服务端内存里已经存在, 因此必定是IsPostback 的。

如果有这种应用:我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建,我们期望是 Not IsPostback 的。这事,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。可以这么写:location.replace(location.href)

而重定向则用herf 和replace

1、location.href='/';

2、location.replace('/');

两者的不同之处是前者会在浏览器的历史浏览记录(history对象中增加一条新的记录,而后者则是相当于用replace中的url代替了现有的页面url,并把history中的url也替换为重定向后的url。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。