GWT中的硬刷新

Kev*_*ith 8 java gwt web-applications

使用Google Web Toolkit,我想编写相当于a的代码hard refresh (control + F5).

我不相信(或知道)GWT Window.Location是否有效.

import com.google.gwt.user.client.Window.Location;

Window.Location = currentPage; // I don't think it'll be hard refresh
Run Code Online (Sandbox Code Playgroud)

Õzb*_*bek 9

要重新加载当前页面,您需要调用Window.Location.reload()方法.

重新加载当前的浏览器窗口.所有GWT状态都将丢失.

或者您甚至可以指定自己的JSNI(如下todo),因为默认情况下force reload为false:

  public static native void forceReload() /*-{
      $wnd.location.reload(true);
    }-*/;
Run Code Online (Sandbox Code Playgroud)

  • 如果你想像Ctrl + F5那样强力重新加载页面,你应该使用我的`forceReload()`.如果你只想要F5,请使用`Window.Location.reload()` (3认同)

And*_*olo 5

根据https://developer.mozilla.org/en-US/docs/DOM/window.location#Methods您需要调用window.location.reload(true)以强制重新加载当前页面。

不幸的是,GWT 只包装了window.location.reload()via Window.Location.reload(),并且由浏览器从缓存或另一个 get 中检索页面。这样做是为了实现最跨浏览器的解决方案。

从未尝试过,但您应该能够使用以下内容。

public static native void reload(boolean force) /*-{
  $wnd.location.reload(force);
}-*/;
Run Code Online (Sandbox Code Playgroud)