Substitua o script se visualizado no IE9?
-
25-09-2019 - |
Pergunta
Quão fácil seria executar um JavaScript diferente, dependendo do navegador do usuário?
Por exemplo, se alguém visitar o site com o IE9, gostaria que ele executasse um script diferente para o que ele seria executado normalmente para usuários do Chrome.
Solução
Você pode usar Comentários condicionais por esta:
<!--[if lte IE 6]>
<script>alert('lte stands for less than or equal to')</script>
<![endif]-->
<!--[if lt IE 7]>
<script>alert('lt stands for less than')</script>
<![endif]-->
<!--[if gte IE 9]>
<script>alert('gte stands for greater than or equal to')</script>
<![endif]-->
etc.
Outras dicas
Existem várias técnicas de detecção de navegador. Você pode tentar detectar o navegador (sozinho, examinando o navigator.userAgent
propriedade) ou você pode usar métodos disponíveis em quase todas as estruturas JavaScript. Por exemplo:
Alternativamente, você pode usar Comentários condicionais Mas eles são reconhecidos apenas pelo IE.
- Pavel
Você pode usar comentários condicionais no HTML.
<!--[if IE]>
<script src="ie_only.js"></script>
<![endif]-->
Isso também pode ser usado para folhas de estilo externas
Mais informações sobre este post http://css-tricks.com/how-to-create-an-ie-lly-lylesheet/
Posso recomendar a detecção de recursos.
if (someIEAPI) {
// ie code
} else if (someChromeAPI) {
// chrome code
}
Esse código é mais robusto e, se o Firefox ou a Opera suportar uma das APIs, você não precisará verificar se os navegadores deles.
Além dos navegadores, têm o hábito de mentir para você e fingir ser o que for o quadril.