Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 如何在Dart中以正确的方式重定向和重新加载?_Url_Redirect_Dart - Fatal编程技术网

Url 如何在Dart中以正确的方式重定向和重新加载?

Url 如何在Dart中以正确的方式重定向和重新加载?,url,redirect,dart,Url,Redirect,Dart,在Dart中进行重定向和重新加载的首选方法是什么 我们是否只使用:window.location.href=window.location.href?有几种不同的方法来处理URI更改,每种方法都有自己的用途 当您要将用户发送到另一个URI时: window.location.assign('http://google.com) 这一个将用户发送到Google,保留浏览历史记录(后退按钮历史记录)。这就像点击一个链接 window.location.href=http://google.com“

在Dart中进行重定向和重新加载的首选方法是什么


我们是否只使用:
window.location.href=window.location.href

有几种不同的方法来处理URI更改,每种方法都有自己的用途

  • 当您要将用户发送到另一个URI时:

    • window.location.assign('http://google.com)

      这一个将用户发送到Google,保留浏览历史记录(后退按钮历史记录)。这就像点击一个链接

    • window.location.href=http://google.com“

      同上,只是另一种方法
      href
      是一个setter,它导致分配发生。我觉得以前的版本比较干净

    • window.location.replace('http://google.com');

      然而,object上的方法不仅将用户发送到Google,而且不会将原始页面放入会话历史记录中,这意味着用户将不会遭受无休止的后退按钮噩梦

      这与HTTP重定向基本相同。跳过历史记录

  • 当您要重新加载/刷新时

    • window.location.assign(window.location.href)

      将当前页面重新加载到完全相同的URI。这不包含
      POST
      数据。一些资源(如图像等)可能会从缓存中重新加载,因此可能不是完全重新加载

      这与按F5键并跳过发送
      POST
      数据基本相同

    • window.location.href=window.location.href

      同样,与前面相同

    • window.location.reload()

      这种重新加载页面的方式也会导致发送
      POST
      数据。的“JavaScript版本”还支持一个参数,该参数指定是否跳过缓存。但是,当前Dart实现不支持该参数,默认情况下从缓存获取资源

      这个缓存参数可能会在某个时候添加到Dart中,但现在还没有。当它到达时,您很可能只是将
      true
      作为第一个参数传递,然后它将类似于Ctrl+Shift+R

  • 总结
    • 我想模拟点击
      标签。
    使用
    window.location.assign(url)

    • 我想重定向到一个新网站,比如HTTP重定向,并跳过后退按钮历史记录。
    使用
    window.location.replace(url)

    • 我想用
      POST
      数据执行F5操作。
    使用
    window.location.reload()

    • 我想做一个没有
      POST
      数据的F5。
    使用
    window.location.assign(window.location.href)

    • 我想按Ctrl+Shift+F5组合键。

    不可用,可能在将来。它可能是
    window.location.reload(true)

    关于
    Ctrl+Shift+F5
    的任何消息?如何在flatter(web)中实现这一点?