Хотя оба являются браузерами на основе Webkit, Safari использует кавычки в URL-адресах, а Chrome - нет.
Поэтому мне нужно различать эти два в JS.
Документы jQuery по обнаружению браузера помечают safari как устаревшее.
Есть ли лучший метод, или я просто придерживаюсь устаревшего значения сейчас?
javascript
jquery
browser-detection
AndreKR
источник
источник
$.browser.safari === true
. угу.Ответы:
Использование комбинации
feature detection
иUseragent
строки:Использование:
if (is_safari) alert('Safari');
Или только для Safari используйте это:
источник
(Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36)
Следующее определяет Safari 3.0+ и отличает его от Chrome:
источник
К сожалению, в приведенных выше примерах также будет обнаружен браузер Android по умолчанию как Safari, а это не так. я использовал
navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && navigator.userAgent.indexOf('Android') == -1
источник
Для проверки Safari я использовал это:
Работает корректно.
источник
По-видимому, единственным надежным и приемлемым решением было бы обнаружение такой функции:
источник
Единственный способ, который я нашел, - это проверить, содержит ли navigator.userAgent слово iPhone или iPad.
источник
Если вы проверяете использование браузера
$.browser
. Но если вы проверяете поддержку функции (рекомендуется), используйте$.support
.Вы НЕ должны использовать $ .browser для включения / отключения функций на странице. Причина в том, что он ненадежен и, как правило, просто не рекомендуется.
Если вам нужна поддержка функций, я рекомендую modernizr .
источник
location.hash = '"blah"'; if (location.hash == '#%22blah%22') alert('is Safari');
?http://jsfiddle.net/s1o943gb/10/
источник
Очень полезный способ исправить это - определить версию webkit для браузеров и проверить, является ли она по крайней мере той, которая нам нужна, иначе сделайте что-нибудь еще.
Используя jQuery, это выглядит так:
Это обеспечивает безопасное и постоянное исправление для решения проблем с различными реализациями webkit в браузере.
Удачного кодирования!
источник
Это определит, является ли браузер Safari или нет.
источник
источник
Я использую для обнаружения движка браузера Apple это простое условие JavaScript:
источник
Общая ФУНКЦИЯ
источник