Script de detecção de navegador (apenas!) com mau funcionamento no Pale Moon 32.x

Na maioria das instâncias do Discourse que visito com o Pale Moon 32.x, recebo inicialmente uma visualização comprometida com um banner “navegador muito antigo” na parte superior. No entanto, isso é um falso positivo do JS de detecção de navegador, pois usar um bloqueador de anúncios para desativar /assets/browser-detect-\u003chash\u003e.br.js permite a funcionalidade completa dos sites. (Como esperado, pois o Pale Moon suporta a maioria dos padrões web modernos.)

Em outras palavras, você escreveu com sucesso um site que funcionará em navegadores modernos, mas depois o limitou arbitrariamente a uma seleção escolhida a dedo deles com detecção de user agent dos anos 90. Isso tem o efeito colateral não intencional de limitar a liberdade do usuário e sustentar o quase monopólio do Google na web. Por favor, corrija isso!

Não limitamos navegadores arbitrariamente. Usamos detecção de recursos para determinar se um navegador suporta todas as APIs web modernas nas quais o Discourse se baseia. Nossas verificações atuais são:

Portanto, o Pale Moon deve estar faltando um desses recursos.

7 curtidas

Ah, entendi. Obrigado pela resposta rápida e por corrigir minhas concepções errôneas!

Apenas CSS.supports("aspect-ratio: 1") é falso. Tenho que admitir que me intriga que você precise detectar isso, especialmente porque, ao procurar para ver quais estilos dependem disso, encontrei vários lugares no CSS com blocos @supports not (aspect-ratio: 1) {/*...*/} e semelhantes, o que pareceria explicar por que a aparência dos sites está boa, apesar de não ter suporte a aspect-ratio. (Nunca notei nenhum problema visual em lugar nenhum, apesar de usar o Discourse extensivamente tanto no PM quanto em outros navegadores.)

2 curtidas