Я хочу отображать сообщение для пользователей с неподдерживаемыми браузерами, в отличие от некрасивого сбоя сайта.
Как лучше всего это сделать?
4 ответа
Команда GWT не предоставляет список неподдерживаемых браузеров, только поддерживаемые браузеры, и это расплывчатый список для «самых последних версий Internet Explorer, Firefox и Safari. (Опера тоже большую часть времени.) ».
Если вы хорошо знаете, какой браузер / версия не будет работать, вы можете использовать этот код:
public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/
Чтобы узнать, какой браузер используется, и, возможно, придумать обходной путь.
С другой стороны, рендеринг веб-страниц в браузере может давать сбои по многим тонким причинам - от слегка раздражающего до катастрофического, и часто нет способа узнать, где находится ваша страница в этом масштабе. Одна из основных причин использования GWT заключается в том, что вы можете перестать беспокоиться о подобных вещах. По крайней мере, пока это не произойдет.
Я понимаю, что это старый вопрос, но у меня была та же проблема, и я хотел поделиться новым решением для нее.
Сегодня с GWT2.7 "устаревшие" браузеры пытаются загрузить undefined.cache.js
. Очевидно, это не удается, и клиент застревает навсегда.
Вы можете исправить сам GWT, установив резервные шаги компиляции, но простое решение - просто предоставить (созданный вручную) undefined.cache.js
и разместить его там, где находятся другие сгенерированные файлы.
Внутри вы помещаете одну строчку:
xxxxxxx.onScriptDownloaded(alert('This browser is not supported anymore.\nPlease upgrade to a more recent browser.'));
Где xxxxxxx
- это базовое имя вашего модуля (от xxxxxxxx.gwt.xml
).
Если вы хотите сделать его простым и глупым, проверьте код javascript в своем основном файле html перед загрузкой GWT. Тем не менее, я бы предпочел, чтобы GWT справлялся с более или менее причудливыми вещами. Вы также можете просто порекомендовать Chrome или Firefox.
GWT также обеспечивает обнаружение браузера с помощью файла .gwt.xml. Посмотри на это:
http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideDeferredBindingReplacement
Это интересное решение, но я не уверен, что это лучшее решение в вашем случае. Это может быть очень полезно для создания упрощенной версии вашего приложения, которая будет автоматически загружаться в неподдерживаемых браузерах.
Похожие вопросы
Новые вопросы
browser
Веб-браузер или интернет-браузер - это программное приложение для поиска, представления и просмотра информационных ресурсов во Всемирной паутине.