История GWT удалить элемент - PullRequest
4 голосов
/ 19 октября 2010

возможно ли удалить элемент истории в gwt?Чего я хочу добиться, так это того, что в специальном случае нажатие кнопки «Назад» в браузере отобразит второй элемент истории со спины.Я знаю, что могу сделать это, вызвав History.back ();Заранее спасибо за помощь.

Куку

Ответы [ 3 ]

7 голосов
/ 19 октября 2010

Нет, браузеры не позволяют этого.

GWT использует Javascript (конечно) для манипулирования историей браузера. Механизмы Javascript не позволяют удалять записи истории.

Возможно, вы могли бы сделать HistoryListener , чтобы пропустить шаг, который вы хотите удалить, но вам придется самостоятельно отслеживать историю, чтобы решить, какой путь пропустить (вперед или назад)

0 голосов
/ 01 июля 2015

Вы можете использовать History.replaceItem (newToken, fireEvent).

Это заменит текущий маркер истории поверх стека истории браузера.newToken - токен истории, чтобы заменить текущую верхнюю записьfireEvent - логическое значение для того, хотите ли вы запускать событие состояния истории или нет

0 голосов
/ 25 июля 2013

Как указано выше, это невозможно через GWT, но вы можете управлять этим с помощью History

(примечание: HistoryListener - упомянутый в предыдущем посте - устарел)

Вот простой пример, с которого можно начать.

public class UrlManager implements ValueChangeHandler<String> {

public UrlManager() {
     History.addValueChangeHandler(this);       
}

public void onValueChange(ValueChangeEvent<String> event) {     
    String historyToken = event.getValue();
}

}

...