Embora ambos sejam navegadores baseados em Webkit, o Safari urlencodifica aspas no URL, enquanto o Chrome não.
Portanto, preciso distinguir entre esses dois em JS.
Os documentos de detecção de navegador da jQuery marcam "safari" como obsoleto.
Existe um método melhor ou apenas continuo com o valor obsoleto por enquanto?
javascript
jquery
browser-detection
AndreKR
fonte
fonte
$.browser.safari === true
. eeek.Respostas:
Usando uma mistura de
feature detection
eUseragent
string:Uso:
if (is_safari) alert('Safari');
Ou apenas para Safari, use isto:
fonte
(Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36)
O seguinte identifica o Safari 3.0+ e o distingue do Chrome:
fonte
infelizmente, os exemplos acima também detectarão o navegador padrão do Android como Safari, o que não é verdade. eu usei
navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && navigator.userAgent.indexOf('Android') == -1
fonte
Para verificar o Safari, usei este:
Funciona corretamente.
fonte
Aparentemente, a única solução confiável e aceita seria fazer a detecção de recursos como esta:
fonte
A única maneira que encontrei é verificar se navigator.userAgent contém a palavra do iPhone ou iPad
fonte
Se você estiver verificando o navegador, use
$.browser
. Mas se você estiver verificando o suporte a recursos (recomendado), use$.support
.Você NÃO deve usar $ .browser para habilitar / desabilitar recursos na página. O motivo é não confiável e geralmente não recomendado.
Se você precisar de suporte para recursos, recomendo modernizr .
fonte
location.hash = '"blah"'; if (location.hash == '#%22blah%22') alert('is Safari');
?http://jsfiddle.net/s1o943gb/10/
fonte
Uma maneira muito útil de corrigir isso é detectar a versão do webkit do navegador e verificar se é pelo menos o que precisamos; caso contrário, faça outra coisa.
Usando jQuery, funciona assim:
Isso fornece uma solução segura e permanente para lidar com problemas com diferentes implementações de webkit do navegador.
Boa codificação!
fonte
Isso determinará se o navegador é Safari ou não.
fonte
fonte
Eu uso para detectar o mecanismo do navegador da Apple, esta simples condição de JavaScript:
fonte
FUNÇÃO Genérica
fonte