XML модуля GWT - как переопределить и использовать больше чем один агент пользователя

У меня была точно такая же проблема, и для меня добавление height: 100% к элементу тела было исправлением.

(строго ничто иное, казалось, не заставляло его работать)

5
задан 20 May 2009 в 21:27
поделиться

3 ответа

Работает в GWT 1.6, ваш файл * .gwt.xml:

<module rename-to="moduleName">
      <!-- blah blah -->
      <set-property name="user.agent" value="ie6,gecko,gecko1_8" />
      <!-- generate perms for IE and firefox only -->
</module>
6
ответ дан 18 December 2019 в 06:36
поделиться

Еще нет. Идея состоит в том, что вы быстро разрабатываете один браузер, а затем один раз компилируете для развертывания (т. Е. Проводите финальное тестирование) для всех браузеров, а GWT обрабатывает различия браузеров. Не забывайте, что во время развертывания GWT оптимизирует загрузку для каждого браузера, так что в конечном итоге не имеет значения, сколько пользовательских агентов вы выбрали.

1
ответ дан 18 December 2019 в 06:36
поделиться

Чтобы быстро развернуть любое приложение, вам понадобятся две цели; один раз для движка, который ваш хост-режим развертывает в {Firefox / Linux, Safari / Mac, IE6 / Win}, и один для вашего гибкого браузера, который позволяет создавать CSS в реальном времени {Firefox + Firebug}.

Linux: <set-property name="user.agent" value="gecko1_8,gecko"/>
Mac: <set-property name="user.agent" value="gecko1_8,safari"/>
...etc...

Это GWT > = 1.6 ТОЛЬКО!

Для старых проектов gwt необходимо создать супер-исходный файл com / google / gwt / user / UserAgent.gwt.xml ... Поместите его в исходное местоположение, которое включено ПЕРЕД вашим gwt- * .jar в пути к классам. По сути, вы можете скопировать этот файл в новый в том же пакете, что и исходный, и отредактировать блок javascript CDATA, который возвращает фактическое значение user.agent. Поиграйте с этим как хотите, но не сходите с ума с их свойством user.agent, так как в будущей сборке оно БУДЕТ изменено для ie8.

Чтобы настроить таргетинг на браузеры, создайте собственное, т.е. version и настройте копию свойства-provider в UserAgent.gwt.xml, чтобы настроить таргетинг на разные версии, т.е. Просто убедитесь, что при использовании настраиваемого свойства для отложенного связывания вы выполните:

<all>
  <when-property-is name="user.agent" value="ie6"/>
  <any>
    <when-property-is name="ie.version" value="ie7"/>
    <when-property-is name="ie.version" value="ie8"/>
  </any>
</all>

Или вы получите сборки ie7 + gecko / safari и другой глупый мусор, который никогда не будет использоваться.

Примечание. Любой код в свойстве -provider загружается в .nocache.js и может быть полезен для предварительной загрузки изображений / CSS во время загрузки полезных данных .cache.js.
Просто добавьте var __cached = new Image ('URL для скомпилированного изображения / все, что вы хотите загрузить');

4
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: