Tow*_*wer 21 url redirect dart
在Dart中进行重定向和重新加载的首选方法是什么?
我们只是使用:window.location.href = window.location.href?
Kai*_*ren 43
处理URI更改有几种不同的方法,每种方法都有自己的用途.
如果要将用户发送到另一个URI:
window.location.assign('http://google.com')
这个用户将用户发送给Google,保留浏览历史记录(后退按钮历史记录).这就像点击链接一样.
window.location.href = 'http://google.com'
与上面相同,只是另一种方式.href是一个setter,并导致赋值发生.我觉得以前的版本比较干净.
window.location.replace('http://google.com');
然而,对象上的replace()方法LocalLocation不仅将用户发送给谷歌,而且还没有将原始页面放在会话历史中,这意味着用户不会遭受永无止境的后退噩梦.
这与HTTP重定向基本相同.历史记录被跳过.
当您想要重新加载/刷新时.
window.location.assign(window.location.href)
将当前页面重新加载到完全相同的URI.这并没有包含POST数据.我可能会从缓存中重新加载某些资源(如图像等),因此可能不是完全重新加载.
这与按下F5和跳过POST数据发送基本相同.
window.location.href = window.location.href
再次,和以前一样.
window.location.reload()
这种重新加载页面的方式也导致POST数据被发送."JavaScript版本" window.location.reload()还支持一个参数,该参数指定是否跳过缓存.但是,当前的Dart实现不支持该参数,并且默认从缓存中获取资源.
此缓存参数可能会在某个时刻添加到Dart,但它还没有.当它到达时,你很可能只是true作为第一个参数传递,然后它会是Ctrl + Shift + R.
<a>标签上的点击.使用window.location.assign(url).
使用window.location.replace(url).
POST数据做.使用window.location.reload().
POST数据的人.使用window.location.assign(window.location.href).
不可用,也许将来.它可能会window.location.reload(true).