我想在我的gwt应用程序中支持deeplinks。例如。如果收到像http://myhost/myapp/#deeplink123这样的请求,我想用“123”做一些事情(如你所知,如果收到没有哈希的http://myhost/myapp/deeplink123,则会重新加载漏洞网站)。我将历史框架添加到我的start html网站和我的entrypoint类中的值更改处理程序:
<iframe src="javascript:''" id="__gwt_historyFrame" style="width:0;height:0;border:0"> </iframe>
History.addValueChangeHandler(new ValueChangeHandler<String>() {
public void onValueChange(ValueChangeEvent<String> event) {
String token = event.getValue();
// do something with token
});
这在firefox中工作正常,但在Internet Explorer中,如果在浏览器地址栏中输入了深层链接,则不会触发onValueChange-Event。
你有什么想法我能识别IE中的深层链接吗?
提前谢谢 - 马克斯
您需要在应用程序History.fireCurrentHistoryState()
结束时调用onModuleLoad
,以通知历史处理程序初始应用程序状态。
如果我在app.gwt中将[set-property name =“user.agent”value =“ie6,gecko1_8”]更改为[set-property name =“user.agent”value =“ie8],它在IE8中有效.xml文件。
但只有在主html网站中添加类似[!doctype html]的文档类型声明时。这会导致我的应用程序中出现一些光学问题,例如错误的大小,边距和颜色,因此还有更多工作要做。