Делать это будет означать, что ваше приложение будет иметь, чтобы начать резервное копирование раз, когда следующая страница загружается - если вы хорошо с этим, то ...
Есть несколько способы сделать что-то подобное. Самый быстрый/самый простой - перечислить все ваши точки входа в файле модуля, а в верхней части каждого onModuleLoad
сделать чек, если он находится на правильной странице. Нечто подобное (настраивается для каждой страницы/EntryPoint конечно):
if (!Window.Location.getPath().toLowerCase().endsWith("myhtmlpage.html") {
return;
}
GWT компилирует все точки входа (и все зависимости классов, чтобы просто сделать один набор файлов, каждый класс загружается только один раз) в один JS файл и все точки входа будут запущены, но они остановятся, если они не будут запущены в это время.
Дальнейшим шагом было бы изменить это, чтобы использовать аннотацию для каждой точки входа и генератор для всех точек входа. (Знаете ли вы, что ваш экземпляр entrypoint создан с помощью GWT.create? Это правда!), Что бы переопределить onModuleLoad
и добавьте эту логику автоматически.
Отредактировано использовать GetPath() вместо getHref(), и toLowerCase(), что строка для того, чтобы никаких проблем случае не возникают
Умное решение с getHref(), поэтому я просто поставлю запись класса entrypoint с файлом module.gwt.xml в свой код? – xybrek
wait, btw, так как проверка с концамиWith («something.html»), это будет иметь проблемы с идентификаторами фрагментов и параметрами URL, я прав? – xybrek
Отличный момент, извините, что я пропустил это ... Исправляя его теперь, чтобы использовать window.location.pathname (Location.getPath() в gwt) –