Диплинкинг в GWT (IE) - PullRequest
       13

Диплинкинг в GWT (IE)

1 голос
/ 21 октября 2011

Я хочу поддерживать глубокие ссылки в моем приложении 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?

Заранее спасибо - Макс

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Это работает в IE8, если я меняю строку [set-property name = "user.agent" value = "ie6, gecko1_8"] на [set-property name = "user.agent" value = "ie8] вфайл app.gwt.xml.

Но только если добавить основной тип документа, например, [! doctype html], который приводит к некоторым оптическим проблемам, таким как неправильные размеры, поля и цвета в моем приложении,так что впереди еще много работы.

0 голосов
/ 21 октября 2011

Вам нужно позвонить History.fireCurrentHistoryState() в конце ваших приложений onModuleLoad, чтобы сообщить обработчикам истории о начальном состоянии приложения.

...