2012-04-07 2 views
0

Пожалуйста, простите меня, если этот ответ находится где-то еще на этом сайте или в Интернете. Если это так, я уверен, что не нашел его в последние несколько дней поиска.Точное обнаружение/переадресация браузера с использованием JavaScript?

То, что я нахожу, является «точный» метод обнаружения браузера и перенаправления на простую статическую страницу, если не в недавнем браузере.

Образцы, которые я нашел до сих пор, часто не предоставили точное представление фактического используемого браузера. Например:

  • При тестировании с помощью навигатора 9, я получаю сообщение, что я использую Firefox 2
  • При тестировании с Maxthon 3, сообщает я использую IE 9.

Мой сайт отображается правильно во всех браузерах, с которыми я его тестировал. Но я хотел бы иметь базовую статическую страницу для тех .01%, которые по какой-то причине все еще используют старый браузер. Они все равно могли получить некоторую базовую информацию с моего сайта, а также рекомендовали обновить ее до более современного браузера.

Если у кого-нибудь есть какие-либо полезные предложения, я бы очень признателен им.

Большое спасибо.

Приветствия,

Дэвид

ответ

0

обнаружения Браузер никогда не совершенен, для variery причин. Если вы используете jQuery, вы должны посмотреть на jQuery.browser.

Я бы попытался обнаружить браузер на стороне сервера и выполнить перенаправление HTTP, если браузер является чем-то нестандартным. Большинство достойных фреймворков имеют функциональность для обнаружения браузера из строки пользовательского агента. Опять же, это не идеально, в основном из-за отчета браузеров данных. Кроме того, если Maxthon сообщает об этом IE, это потому, что он - это на основе IE, поэтому механизм компоновки должен быть таким же.

Так что вы либо

  • поддержка небольшое количество браузеров и удовлетворить свои причуды, посылая все другие браузеры на основную страницу (это отстой для будущих версий браузеров, поскольку они могут быть соответствуют стандартам, но они все равно покажут вашу самую основную страницу) или

  • У вас есть страница, соответствующая стандартам, для всех браузеров, а затем вы определяете альтернативы тем, которые создают проблемы.

Я бы выбрал второй вариант. Обычно это сводится к одной версии для всех браузеров и нескольким хакам для разных версий IE. Кроме того, не забудьте заполнить свой CSS и использовать поля.

В конце концов, вы, вероятно, не должны тестировать браузеры и номера версий, но поддерживаемые функции. Попробуйте использовать Modernizr.

0

Свойство $ .browser устарело в jQuery 1.3. На сайте поддержки jQuery они настоятельно рекомендуют использовать detection feature (JQuery.поддержка) вместо свойства jQuery.browser. На самом деле, этот вопрос был дан уже в другом вопросе, пожалуйста, здесь. How can you detect the version of a browser?