嗨,我正在使用GWT及其通过“历史”课程支持历史的标准方式.它非常方便,但如何从网址中删除锚点部分?例如:
我的基本网址:
- http://www.mysuperwebsite.com/myapp
使用应用程序时,我会移动到添加新历史记录项的位置.
在代码中:
- History.newItem("funnygame");
结果:
- http://www.mysuperwebsite.com/myapp#funnygame
我再换一次地方:
在代码中:
- History.newItem("notsofunnygames");
结果:
- http://www.mysuperwebsite.com/myapp#notsofunnygames
然后我想回到我的主页(http://www.mysuperwebsite.com/myapp).
什么应该放在代码中?:
- ????
回到:
- http://www.mysuperwebsite.com/myapp
有没有可以实现我的目标的标准方式?
如果我添加这样的东西:
- History.newItem("");
要么
- History.newItem(null);
网址将成为
- http://www.mysuperwebsite.com/myapp#
这不是我喜欢的,我需要它没有尖锐的性格.
解决方法
如果您使用History.newItem(null);将触发一个新事件.
因此,您将切换主页:
http://www.mysuperwebsite.com/myapp#
因此,您将切换主页:
http://www.mysuperwebsite.com/myapp#
最后有没有#是一回事,我错了吗?
编辑:
- ...
- // Get the last part of the url and remove #token
- String s = Location.getHref().substring(Location.getHref().lastIndexOf("/"));
- s = s.substring(0,s.indexOf("#")-1);
- setToken(s);
- ...
- protected native void setToken(String token) /*-{
- $wnd.history.pushState({},'',token);
- }-*/;