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.

Foi útil?

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:

  1. jQuery.browser
  2. Detectando o navegador com protótipo JS

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top