Надежное обнаружение браузера с помощью javascript?

У меня есть веб-сайт и отключение, как и большинство сайтов, которые он загружает быстрее в Firefox.

Я хочу создать некоторую форму панели, которая отображается поверх моего сайта, всякий раз, когда пользователь без FF входит на сайт. Этот бар скажет что-то вроде «Install FF для лучшей производительности и т. Д. …»

Как мне это сделать? Обнаружение браузера, я думаю, но есть множество разных кодов. Любой код, который вы все знаете, является более надежным и лучше использовать?

Кстати, кто-нибудь знает, если мне нужно разрешение от Mozilla, чтобы иметь такую ​​панель на моем сайте?

благодаря

РЕДАКТИРОВАТЬ: FF – НЕ БЫСТРЫЙ БРАУЗЕР, Я СДЕЛАЛ ЭТО!

(Пропуск всех аргументов о том, что вы хотите сделать, это хорошо или плохо. Предположим, вам действительно нравится Firefox и вы хотите его продвигать.)

  1. Используйте объект navigator чтобы проверить, является ли браузер Firefox. navigator.appCodeName , navigator.appName , navigator.appVersion . То, что вы хотите сделать, не является важной частью вашего веб-сайта, поэтому вам не нужен метод обнаружения отказоустойчивости. Если он работает более чем на 95% ваших целевых пользователей, чем этот метод хорош.

  2. Я сомневаюсь, что вам нужно разрешить рекламу бесплатного продукта. Mozilla даже призывает вас сделать это.

Вы можете быть заинтересованы в этой странице здесь, на spreadfirefox.com: http://www.spreadfirefox.com/affiliates/utw . Он содержит набор кнопок Spread Firefox, но более интересным является код, который поставляется с ним. Вы заметите, что изображение кнопки действительно изменится в зависимости от того, какой браузер вы просматриваете:

http://img.ruphp.com/php/FF36_36_120x240.png http://img.ruphp.com/php/FF36_FF_120x240.png http://sfx-images.mozilla.org/ utw / 3.6 / FF36_IE_120x240.png http://img.ruphp.com/php/FF36_OTHER_120x240.png

Глядя на код Javascript , вы можете видеть, что они уже делают для вас работу:

 /* ********************************************* This code came from http://www.quirksmode.org/js/detect.html In order for this to function properly, it must be updated regularly ***********************************************/ 

Так почему бы просто не изменить код, который они дали для работы с вашими изображениями или кодом? Или еще лучше использовать один из своих готовых?

jQuery имеет обнаружение браузера .

Однако сами разработчики jQuery утверждают, что вы не должны выбирать браузер, но какие функции поддерживаются браузером. Таким образом, они рекомендуют использовать функцию обнаружения браузера . Имеет смысл.

Нет надежного обнаружения браузера на 100%. Доступ к строке userAgent, предоставляемой объектом-навигатором, не является надежным, пока пользователь может подделать его. Доступ к некоторым свойствам, которые существуют только в специальном браузере сейчас, может быть надежным прямо сейчас, но не в будущем, потому что вы никогда не знаете, если другой браузер будет применять это свойство иногда или свойство будет удалено из браузера в будущих версиях.

Это может не ответить на ваш вопрос, но вы можете сделать условные комментарии в своем HTML-коде следующим образом:

http://www.quirksmode.org/css/condcom.html

Вы можете использовать этот код для обнаружения любой версии IE.

Если вы не наняты Mozilla Foundation, я не понимаю, почему пользователи с браузерами Chrome и Safari и аналогичными браузерами должны быть уведомлены об этом сообщении. Они сделали активный выбор и выбрали свой собственный браузер, что вы не можете сказать о большинстве пользователей IE, которые могут не знать об альтернативах. В основном, это проблема Internet Explorer.

Извините, если это было немного не по теме, и если это было не полезно вообще.

/ конец морального разглашения;)

Я думаю, что обнаружение браузера не является правильным способом решения некоторых проблем. Если ваш код медленный в другом браузере, вы должны сначала исследовать причину, очистить и оптимизировать свой код, а затем, если вы не решите, вы можете дополнительно предоставить уменьшенную функциональность для другого браузера.

Но, пожалуйста, избегайте предлагать пользователю то, что он должен установить на своем компьютере

Хорошо, поэтому я получаю -1, потому что мне не нравится Firefox или потому, что я не дал вам решение в ваших руках для копирования и вставки? Ну вот вы идете люди:

 <!--[if IE]> Special instructions for IE <![endif]--> 

И в jQuery

 if ($.browser.msie) 

Я не думаю, что это такая хорошая идея. Как насчет других браузеров, таких как Chrome или Safari? Сейчас Chrome работает быстрее, чем Firefox (тесты Sunspider), поэтому ваш оператор «он загружается быстрее в Firefox» на самом деле неверен. Быстрее чем? Если вы имеете в виду IE, то в Интернете уже есть решения для предупреждения пользователей не использовать IE и переключиться на что-то еще. Вы не должны отдавать предпочтение только одному браузеру.

ok Для ppl на этом посту

http://www.quirksmode.org/js/detect.html

Это лучшее, что я видел за долгое время, позволяет вашему браузеру проверки и версии, поскольку FF2 не делает все, что делает FF3