2013-03-29 16 views
10

Esiste uno strumento per analizzare il mio codice Javascript per funzioni che potrebbero non essere presenti in tutti i browser?Scansione Javascript per compatibilità con il browser

La mia libreria è completamente non UI, quindi non mi interessa come viene "visualizzato" qualcosa. Quello che sto cercando è qualcosa di simile nel Javascript MDN di Mozilla. Ad esempio, per Array.prototype.indexOf, avvisano che si tratta di un'aggiunta ECMAScript recente che non è presente in tutti i browser (e in genere fornisce uno stub). Quello che sto cercando è uno strumento che dovrebbe elencare le funzioni nel mio codice che rientrano in questa categoria.

+0

Ciò sarà super utile. Preferito. – techfoobar

+2

Un po 'complicato, con un linguaggio non tipizzato. – Thilo

+0

[JSLint] (http://www.jslint.com/) misurerà la qualità del tuo codice e ti avviserà degli errori più comuni, ma non sono sicuro che riuscirà a ottenere ciò che desideri. –

risposta

3

Non esiste uno strumento di questo tipo e ci sono a lot of browsers.

Penso che ci sia un approccio alternativo per la scansione del codice per la compatibilità con i browser "tutti", anche se questa sarebbe davvero una cosa utile. La maggior parte delle persone fa le seguenti due cose per assicurare un certo grado di compatibilità cross-browser.

utilizzare una libreria

È possibile utilizzare una libreria come underscore.js, jQuery, Dojo, Modernizr, ecc che incompatibilità del browser impacco per voi. Ad esempio, puoi utilizzare jQuery.inArray, che funzionerà con tutti i browser coperti da jQuery con un'interfaccia comune da utilizzare.

supporto Limite Browser

Decidere quale browser si vuole sostenere con l'applicazione, lo stato presente sul tuo sito web, e quindi verificare in questi browser. O in modo nativo se li hai, o usa qualcosa come browsstack per fare il test per i browser che non hai. This answer elenca anche più alternative per questo.

E alla fine ci sono le migliori pratiche e l'esperienza personale su cui fare affidamento quando si scrive codice.

+0

ovviamente posso limitare il supporto, ma soprattutto per le librerie non grafiche sembra proprio una cattiva scelta. E per quanto riguarda le biblioteche, se voglio pubblicare il mio codice (una biblioteca), dovrei aggiungerlo come dipendenza e se in qualche modo potrei evitarlo. Inoltre, in genere vengono con molto più del necessario e, anche se supportano build personalizzate, dovrei comunque capire di cosa esattamente ho bisogno. –

+0

Ovviamente è possibile evitare le dipendenze alle librerie. Dovrai quindi eseguire di nuovo il loro lavoro/copiare il codice, il che è peggio di una dipendenza da una libreria ben gestita. Ma anche se lo fai, sono abbastanza sicuro che la tua libreria non supporti browser Mosaic o casi particolari. – migg

+0

Ma come ho detto, dovrei ancora capire quali funzioni esattamente devo coprire. E sì, non sono esattamente felice di polifarmarmi perché è "sporco" nella mia biblioteca. Ma se è solo Array.prototype.indexOf, preferirei aggiungerlo io stesso piuttosto che richiedere un'intera libreria di terze parti. Anche solo a scopo informativo uno strumento del genere che sto cercando sarebbe interessante per me. –

1

Aggiornamento:

bene o nel male, il controllo non è più disponibile.


Cercando la stessa domanda (dopo questo paio di anni), mi sono imbattuto sulla Javascript Compatibility Checker.

Mi ha dato un suggerimento su come la mia scrittura sembra compatibile con i principali browser.

+0

Grazie! Sfortunatamente un test rapido usando la notazione a freccia e rapporti simili come "nessun problema trovato", che trovo improbabile. –

+0

@ IngoBürk In effetti, ha il senso di un nuovo inizio, ma potrebbe evolversi di conseguenza. – raratiru

+0

@raratiru Collegamento interrotto. – crantok

Problemi correlati