Nwlapcug.com


Come utilizzare JavaScript implementato in due diversi browser

Come utilizzare JavaScript implementato in due diversi browser


Compatibilità browser è uno dei più antichi mal di testa per programmatori JavaScript nel mondo. Ci sono due modi per consentire le condizioni all'interno di JavaScript per prendere diversi percorsi a seconda della compatibilità: rilevamento del Browser e il rilevamento di oggetti. Rilevamento del browser controlla con il browser direttamente a vedere che fanno e il modello che è. Questo consente di che scegliere quale codice da eseguire per quale browser. Rilevamento di oggetti consente di controllare se un aspetto della definizione del linguaggio JavaScript del browser esiste prima di tentare di utilizzarlo. Rilevamento del browser è una soluzione più vecchio, più classica, mentre la rilevazione di oggetto può essere una soluzione più elegante.

Istruzioni

Rilevamento del browser

1

Scrivere una funzione che rileva correttamente il nome del browser.

Function thisBrowserIs(browserTest) () {

if(navigator.userAgent.indexOf(browserTest)!=-1){

return true;

}

}

Questo dice se può trovare la stringa passata a questa funzione all'interno della proprietà UserAgent, quindi restituire true. È possibile impostare browserTest a "MSIE" (Microsoft Internet Explorer), "Firefox", "Safari", "Opera" o "Chrome" quando si chiama la funzione.

2

Utilizzare la funzione per eseguire il codice specifico del browser.

if(thisBrowserIs("MSIE")) () {

// insert code written for MSIE

}

Questo dice se questo browser è Microsoft Internet Explorer, quindi eseguire qualsiasi script all'interno di questa condizione. Come detto prima, questo potrebbe essere fatto con "Firefox", "Safari", "Opera" o "Chrome" invece.

3

Prendere in considerazione altre opzioni. Questo può sembrare abbastanza semplice, ma può diventare un gran casino reale veloce se si desidera determinare il numero di versione del browser, o peggio, se un nuovo browser viene avanti che questa funzione non è stata progettata per prevedere. L'alternativa più graziosa è rilevamento di oggetti.

Rilevamento di oggetti

4

Scegliere un oggetto da rilevare. Solo MSIE dispone di un oggetto "Document". Solo Opera dispone di un oggetto "window.opera". Le versioni precedenti di MSIE non supportano l'oggetto "document.getElementsByClassName". Tuttavia, con rilevamento di oggetti, c'è non come molto bisogno di ricordare tutte le cose che compatibilità browser. Se si desidera utilizzare un oggetto che si pensa potrebbe non funzionare in tutti i browser, basta fare un'istruzione condizionale per vedere se il browser rileva la sua esistenza prima di utilizzarlo.

if(Document.getElementsByClassName) () {

Questo dice che se l'oggetto getElementsByClassName esiste, quindi eseguire il codice all'interno di parentesi seguente.

5

Utilizzare l'oggetto è stato testato per ora che il browser è sicuro che esista, quindi chiudere l'istruzione condizionale.

myElementArray = document.getElementsByClassName("myClass");

}

Questo dice uso getElementsByClassName per rendere una matrice "myElementArray" di tutti gli elementi con loro classe impostata su "myClass."

6

Utilizzare un'istruzione "else" dopo il "se" condizione per includere una codifica alternativa all'oggetto in fase di test per. A volte questo è facoltativo.

else {

codice un'alternativa all'oggetto getElementsByClassName

}