Плагин обнаружения браузера?

У меня есть сайт, который я сделал, и я планирую его переделать. Текущая версия сайта использовала подключаемый модуль jquery callout, который не полностью работал в IE6. Это заставило меня задуматься об обнаружении браузера.

Сначала я просто собирался разместить поддерживаемые браузеры на главной странице, но сегодня на Digg я увидел какой-то пост о некоторых плагинах jquery и wordpress, и в статье был плагин для обнаружения IE.

Поэтому я начал искать плагины для обнаружения браузера. Я нашел несколько из них, но они были слишком хороши, как этот

семерка

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

Так что я нашел этот

плагин jquery

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

Поэтому я начал просматривать документацию jquery, чтобы узнать, есть ли у них обнаружение браузера для chrome, когда я увидел, что они «устарели» и теперь рекомендуют «Поддержка».

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

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

Плюс я не знаю, если это то, что я ищу в это время. Как я предполагаю, с «Поддержкой» вы используете ее для обнаружения чего-то, что не поддерживается, а затем делаете что-то альтернативное для этого браузера?

Для меня я больше ищу что-то, чтобы сказать пользователю: «Эй, смотри, я протестировал этот браузер в этих версиях Firefox (3.5+), IE (8+), Opera (9.5+), Chrome (Что-то), Safari (Что-то). ). Если вы не используете эти версии, возможно, вы не видите сайт таким, каким он был задуман».

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

Я по-прежнему проверяю, работает ли мой сайт (обычно работает) и наполовину прилично в IE 6, но я не буду тратить часы на исправление вещей, которые могут быть отключены в старых браузерах, таких как IE 6.

Я не буду тестировать свой сайт в более старых версиях других браузеров, таких как firefox, так как я думаю, что пользователь должен иметь смысл обновляться, поэтому нет смысла тестировать firefox 2.0 или что-то еще.

Так есть ли плагин, который подходит под это описание? Или может "Поддержка" делать то, что я хочу?

Спасибо


person chobo2    schedule 20.07.2009    source источник


Ответы (7)


Попробуйте это. http://jquery.thewikies.com/browser/

person Varun    schedule 11.09.2009

Для ie6 вы можете просто сделать это:

if(typeof document.body.style.maxHeight === "undefined") {
  // do stupid ie6 stuff
}

По моему опыту, большинство других вещей можно просто исправить, настроив CSS и прочее. Я не слишком в восторге от всего перехода к использованию «Поддержки» в jquery. Возможно, вы также захотите изучить обнаружение функций.

person Stephen Fuhry    schedule 20.07.2009
comment
Я думал, что это и есть поддержка. Да, я знаю, что есть способы сделать IE6, и я, вероятно, буду использовать их немного, но, как я уже сказал, я не хочу тратить часы и часы, чтобы сделать его идеальным в IE6, просто пустая трата времени, если мы продолжим делать его идеальным для IE6 они никогда не обновят. Для меня, как я уже сказал, обнаружение браузера сообщает пользователю, что я не тестировал каждую версию каждого браузера под солнцем. Я также не понимаю аргумент о том, что обнаружение браузера не работает для неясного браузера. Мой ответ на это: кого это волнует? Я не лезу из кожи вон для малоизвестных браузеров, которые используют некоторые люди. - person chobo2; 20.07.2009

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

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

Конечно, ничто не заменит тестирование в ряде браузеров, чтобы увидеть, все ли в деталях работает так, как вы хотите.

person Steve Gilham    schedule 20.07.2009

Ну, я публикую плагин на основе BrowserDetect с quirksmode.org, вы можете найти его на http://www.stoimen.com/blog/2009/07/16/jquery-browser-and-os-detection.-plugin/

person stoimen    schedule 20.07.2009
comment
Хм, я проверю. Не смотрел на источник и на то, как он отображается, но было бы легко добавить вверху поле с сообщением (например, ссылка, на которую я тоже ссылался?) Также я заметил, что в вашей демонстрации он просто говорит, как Firefox, но не версию ? Может ли он отображать номер версии? - person chobo2; 20.07.2009

На самом деле я решил пойти с JReject. Он в значительной степени выглядит так же красиво, как и sevenup, но не требует много часов, чтобы понять, как им пользоваться.

http://jreject.turnwheel.com/

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

person chobo2    schedule 17.06.2010

Взгляните на мою новую версию: сценарий badBrowser 1.4 http://blog.team-noir.net/2010/05/jquery-badbrowser-update-version-1-4/

person Martin    schedule 17.06.2010

Этот работает хорошо и включает поддержку современных браузеров, таких как IE11 Jquery Browser Plugin.

person Peter Kerr    schedule 14.02.2014