Corsi on-line

Feature.js: cosa può fare il tuo browser e cosa no

Feature.js è una semplice soluzione Open Source basata su JavaScript che permette di rilevare le funzionalità supportate dal browser Web corrente, si tratta di una feature detec­tion library che ha dalla sua parte il vantaggio di non richiedere alcuna dipendenza, non si appoggia infatti ad alcun framework di terze parti; inoltre, essa occupa una spazio estremamente limitato pesando soltanto 1 Kb in versione minificata e compressa tramite GZip.

CatturaFeature.js viene inizializzata automaticamente nel momento in cui una pagina Internet comincia la sua fase di caricamento ma non effettua alcuna verifica fino a quando non viene interrogata dallo sviluppatore, ciò significa che in assenza di una chiamata da parte di quest’ultimo la libreria non darà luogo ad alcuna esecuzione e, di conseguenza, non causerà alcun rallentamento del documento in cui è presente. Un accorgimento pensato per non influire negativamente sul livello delle prestazioni.

Questa piccola applicazione si rivelerà particolarmente utile per scoprire se includendo nella propria Web application una determinata feature essa sarà utilizzabile su tutti i browser più diffusi; si ipotizzi, per esempio, di voler sfruttare WebGL (Web-based Graphics Library) per il proprio progetto in modo da poter sfruttare un contesto HTML, compatibile con HTML5, che metta a disposizione un’API per la grafica tridimensionale. Quale browser offre tale supporto?

Per interrogare Feature.js in proposito bisognerà innanzitutto includere il necessario file JavaScript in una pagina Web per poi formulare un semplice costrutto condizionale:

if (feature.webGL) {
  console.log("Disponibile il supporto per WebGL.");
} else {
  console.log("Supporto per WebGL non disponibile.");
}

Nello stesso modo si avrà la possibilità di verificare più funzionalità contemporaneamente:

if (feature.canvas && feature.webGL) {
  console.log("Sono supportati sia Canvas che WebGL.")
}

oppure si potrà interrogare la libreria tramite un’unica istruzione per scoprire tutte le features supportate dal browser utilizzato:

feature.testAll();

L’unico limite di Feature.js riguarda la rilevazione degli eventi touch, essa infatti cerca di rilevarli ma in alcuni casi potrebbe dar luogo a falsi positivi; parliamo in realtà di una mancanza imputabile a JavaScript stesso. In ogni caso il livello di precisione nell’individuazione degli eventi touch dovrebbe aggirarsi intorno al 95-98%.

Per approfondire: Feature.js

Post correlati
I più letti del mese
Tematiche