Domanda

Come sarebbe facile eseguire un javascript diverso a seconda del browser dell'utente?

Per esempio, se un utente visita il sito con IE9 vorrei che venga eseguito uno script diverso da quello che sarebbe funzionare normalmente per gli utenti di Chrome.

È stato utile?

Soluzione

È possibile utilizzare commenti condizionali per questo:

<!--[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]-->

ecc.

Altri suggerimenti

Ci sono varie tecniche di rilevamento del browser. Si può provare a rilevare il browser (da solo esaminando la proprietà navigator.userAgent) oppure è possibile utilizzare i metodi disponibili in quasi tutti i framework JavaScript. Ad esempio:

  1. jQuery.browser
  2. del browser che rileva con Prototype JS

In alternativa è possibile utilizzare condizionale commenti ma sono riconosciuti solo da IE.

- Pavel

È possibile utilizzare i commenti condizionali nel codice HTML.

<!--[if IE]>
   <script src="ie_only.js"></script>
<![endif]-->

Questo può essere utilizzato anche per i fogli di stile esterni

Più informazioni su questo post http: // CSS- tricks.com/how-to-create-an-ie-only-stylesheet/

maggio vi consiglio di rilevamento funzione invece.

if (someIEAPI) {
    // ie code
} else if (someChromeAPI) {
    // chrome code
}

Questo codice è più robusto e se supporta Firefox o Opera una delle API non si deve controllare da loro browser in ogni caso.

Oltre i browser hanno l'abitudine di mentire a voi e fingendo di essere tutto ciò che è moda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top