GWT Bootstrap3 Значки кнопок появляются очень поздно (задержка)
В видео, которое я загрузил на скринкаст, вы видите перезагрузку моего проекта GWT Bootstrap3 (см. https://gwtbootstrap3.github.io/gwtbootstrap3-demo/). Страница, которую я показываю, почти пуста (поэтому нет других значков, которые нужно отображать). Видео начинается, когда я нажимаю клавишу F5 в моем браузере Chrome. Вы заметите, что экран перезагружается, после чего кнопки отображаются в виде пустых квадратов, которые затем заполняются значками. http://www.screencast.com/t/dd7B9lr6
Как я могу показать их с иконками сразу
Кнопки размещаются на вертикальной панели как ButtonToolbar внутри ButtonGroups
[...]
<g:VerticalPanel addStyleNames="{styles.tables.listBeanTable} ub-AbstractSummaryWidget">
<b:ButtonToolBar addStyleNames="{styles.summary.menuBar} hiddenPrint">
<b:ButtonGroup >
<b:Tooltip title="{msgs.refresh}" container="body">
<b:Button ui:field="refreshButton" icon="REFRESH"/>
</b:Tooltip>
<b:Tooltip title="Delete meeting" container="body">
<ui:attribute name="title" description="Label for button: delete meeting"/>
<b:Button ui:field="deleteMeetingButton" visible="false" icon="REMOVE"/>
</b:Tooltip>
[...]
Я не уверен, точно ли когда нарисованы иконки для замены квадратов. Это с вызовом " initWidget(uiBinder.createAndBindUi(this));" в классе конструктора виджета?
Если вы собираетесь сказать: эй, купите более мощный ноутбук, он будет отображаться быстрее. Пример gwtbootstrap3 (например, https://gwtbootstrap3.github.io/gwtbootstrap3-demo/) сразу отображается правильно.
Спасибо за любую помощь Ханнес
2 ответа
Иконки загружаются из Font Awesome. Они просто <i>
теги с применением соответствующего стиля CSS - этот стиль заставляет содержимое <i>
тег, чтобы стать нужным значком. Держу пари, что проблема в том, что шрифт загружается недостаточно быстро. Может это не кешируется? Может быть, он загружен с более медленного сервера? Проверьте инструменты разработчика вашего браузера, чтобы увидеть, откуда загружается шрифт и сколько времени это займет. Он должен загружаться из папки, относящейся к вашему веб-приложению, за исключением случаев, когда вы используете GwtBootstrap3CDN.gwt.xml
модуль.
Что действительно решило проблему, так это переход на gwt 2.7. все проблемы с производительностью исчезли. Кроме того, в приведенном выше случае это помогло немного установить ButtonToolBar невидимым (setVisible("false")) в файле ui.xml. и в конце Ctor сделайте его видимым "setVisible("true).