location.replace和location.href的区别
按照页面的跳转顺序是 a => b => c
b => c在从页面b跳转到页面c时,如果是通过window.location.href("…/c")
此时b页面的路径会被c页面代替,但是点击回按钮后页面回退的是b页面
b =>c在从页面b跳转到页面c时,如果是通过window.location.replace("…/c")
此时b页面的路径会被c页面代替,但是点击回按钮后页面回退的是a页面(最开始的页面)
两者的区别: 两者后退时所回退的页面不一样
javascript中window.open()与window.location.href的区别
window.open(“index.aspx”,‘top’); 只是表示打开这个页面,并不是打开并刷新index.aspx
window.location.href=“index.aspx”; 表示重新定向到新页面,同时刷新打开的这个页面;
众所周知有关重定向分为前端(js)重定向和后台重定向。
在asp.net中遇到了页面1使用html按钮重定向问题,由于之前使用了window.open打开新的网页,但是从此页退回后第二次进入,则后台不会发生pageload事件(注意此处是第二次进入),当然不会捕捉到postback这个事件,怀疑是直接调用缓存里面的文件。
改为window.location.href()后问题解决,或者使用后台的Response.Redirect()问题一样解决。
javascript中history.go(),history.back(),location.reload()和location.replace区别
history.back(-1)和history.go(-1)没有什么区别,但是history.back只能返回当前页面的以前的操作页面,也就是说只能向后回退,history.go即可向前也可向后 。
reload 方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])
参数:bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。
true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5(“刷新”)
replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
history.go(0) 不刷新
location.reload() 刷新