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).

Другие вопросы по тегам