1

我想在我的 gwt 应用程序中支持深度链接。例如,如果收到类似http://myhost/myapp/#deeplink123的请求,我想用“123”做一些事情(如您所知,如果收到没有哈希的http://myhost/myapp/deeplink123,则重新加载漏洞站点) . 我将历史框架添加到我的起始 html 站点,并在我的入口点类中添加了一个值更改处理程序:

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

提前致谢 - 马克斯

4

2 回答 2

0

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

于 2011-10-21T17:15:37.167 回答
0

如果我在 app.gwt 中将 [set-property name="user.agent" value="ie6,gecko1_8"] 行更改为 [set-property name="user.agent" value="ie8],它可以在 IE8 中使用.xml 文件。

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

于 2011-10-31T13:36:01.523 回答