使用 Google Web Toolkit,我想编写相当于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
使用 Google Web Toolkit,我想编写相当于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
要重新加载当前页面,您需要调用Window.Location.reload()方法。
重新加载当前浏览器窗口。所有 GWT 状态都将丢失。
或者你甚至可以指定你自己的 JSNI(下面是如何做的),因为默认情况下force reload 是 false:
public static native void forceReload() /*-{
$wnd.location.reload(true);
}-*/;
根据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);
}-*/;
对于重新加载 gwt 页面,您有两种选择:
1) Window.Location.reload();
重新加载当前浏览器窗口。所有 GWT 状态都将丢失。
2) Window.Location.replace("newurl");
用新的 URL 替换当前 URL。所有 GWT 状态都将丢失。在浏览器的历史记录中,当前 URL 将被新 URL 替换。