GWT(IE)中的深层链接

问题描述 投票:1回答:2

我想在我的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中的深层链接吗?

提前谢谢 - 马克斯

gwt hyperlink deep-linking
2个回答
0
投票

您需要在应用程序History.fireCurrentHistoryState()结束时调用onModuleLoad,以通知历史处理程序初始应用程序状态。


0
投票

如果我在app.gwt中将[set-property name =“user.agent”value =“ie6,gecko1_8”]更改为[set-property name =“user.agent”value =“ie8],它在IE8中有效.xml文件。

但只有在主html网站中添加类似[!doctype html]的文档类型声明时。这会导致我的应用程序中出现一些光学问题,例如错误的大小,边距和颜色,因此还有更多工作要做。

© www.soinside.com 2019 - 2024. All rights reserved.