Недавно я обновил свое приложение до GWT 2.7 с GWT 2.5. Это заставило меня отказаться от поддержки IE6 и IE7.
Я хотел бы предоставить пользователям IE6 или IE7 предупреждение о том, что их браузер устарел и не будет работать. На данный момент, если вы зайдете в приложение с помощью одного из этих браузеров, вы получите пустой экран.
Я знаю, что есть несколько способов взломать что-то вместе, но я предпочел бы использовать способ GWT, а не какой-то взлом. Есть ли хук GWT для неподдерживаемых браузеров?
Вариант (взломать) 1
Перетащите это в мой main.html:
if(document.documentMode === 6 || document.documentMode === 7){
myUnsupportedBrowserWarningFunction();
}
Потенциальная проблема заключается в том, что если кто-то использует браузер, который GWT не распознает, и я не распознаю (мобильная опера? Какой-то другой браузер), он все равно получит пустую страницу.
Вариант (взломать) Два
GWT ищет скомпилированный JS здесь:
gwt/myApp/ASDFKLSDJFLSFDJSLDFJLSJDFSDES.cache.js
Когда кто-то использует неподдерживаемый браузер, запрашивается (и не обнаруживается) следующее:
gwt/myApp/undefined.cache.js
Можно было бы создать undefined.cache.js
и поместить туда свой неподдерживаемый код браузера. Очевидно, что это хрупкое решение, и оно сломается с будущими обновлениями GWT.
Третий вариант
Недавний патч (доступный в GWT 2.7) позволяет вам предоставить перестановку по умолчанию (например, сафари), если GWT не может обнаружить браузер, а с отложенной привязкой вы можете отобразить предупреждение о том, что предоставленное приложение может работать неправильно, поскольку браузер обычно не поддерживается по ГВТ.
-- J.
Я не хочу устанавливать перестановку по умолчанию для неподдерживаемых браузеров. Я хочу, чтобы сайт не работал и выводил предупреждение. Так что это решение на самом деле не обеспечивает то, что я ищу.
Похожие вопросы и сообщения
- Тот же вопрос был задан для более ранней версии GWT в 2009 году. Я надеюсь, что за последние 6 лет GWT добавил какую-то хитрость или передовую практику.
- Подробнее о настройке перестановки по умолчанию (запасной вариант) а>