Suggerimento rapido rileva il browser e l'agente utente con AS3

Segui questo suggerimento rapido per scoprire come rilevare il browser Internet e l'agente utente utilizzando AS3 e Flash.


Passaggio 1: breve panoramica

Useremo TextFields e l'aiuto di ExternalInterface per recuperare l'agente utente, attraverso una chiamata JavaScript, e mostrarlo nel nostro SWF. Con l'User Agent memorizzato, una semplice ricerca attraverso la stringa restituita ci darà il browser Internet.


Passaggio 2: configura il tuo file Flash

Avvia Flash e crea un nuovo documento Flash, imposta le dimensioni dello stage su 400x200px e la frequenza fotogrammi su 24 fps.


Passaggio 3: interfaccia

Questa è l'interfaccia che useremo, fare riferimento all'immagine sopra per i nomi delle istanze. Ricreala da te o semplicemente usa l'FLA di origine.


Passaggio 4: ActionScript

Creare una nuova classe ActionScript (Cmd + N), salvare il file come Main.as e inizia a scrivere:

 pacchetto import flash.display.Sprite; import flash.external.ExternalInterface; import flash.events.MouseEvent; importare fl.transitions.Tween; public class Main estende Sprite private var userAgent: String; funzione pubblica Main (): void more.addEventListener (MouseEvent.MOUSE_UP, showFull); browserTxt.text = getUserAgent (); letterpress.text = getUserAgent ();  funzione privata getUserAgent (): String try userAgent = ExternalInterface.call ("window.navigator.userAgent.toString"); var browser: String = "[Browser sconosciuto]"; if (userAgent.indexOf ("Safari")! = -1) browser = "Safari";  if (userAgent.indexOf ("Firefox")! = -1) browser = "Firefox";  if (userAgent.indexOf ("Chrome")! = -1) browser = "Chrome";  if (userAgent.indexOf ("MSIE")! = -1) browser = "Internet Explorer";  if (userAgent.indexOf ("Opera")! = -1) browser = "Opera";  catch (e: errore) // non ha potuto accedere a ExternalInterface nel contenere il ritorno della pagina "[No ExternalInterface]";  browser di ritorno;  funzione privata showFull (e: MouseEvent): void info.fullInfo.text = userAgent; var tween: Tween = new Tween (info, "y", null, info.y, 180,0.5, true); 

Un ExternalInterface la chiamata a una funzione JavaScript otterrà il Agente utente stringa e utilizzare il indice di() metodo per cercare l'ID di ogni browser all'interno di quella stringa; se la stringa User Agent contiene il nome del browser che si sta cercando, si può presumere che sia il browser che l'utente sta utilizzando. È possibile aggiungere un browser specifico in quest'area. Il Di Più pulsante animerà il Informazioni pannello sullo stage e rivelare le informazioni complete sull'agente utente.

Se la ExternalInterface la chiamata fallisce, l'istruzione try-catch lo rileva e restituisce un semplice messaggio di errore nella casella di testo. Potrebbe non riuscire se il file SWF viene eseguito in Flash Player autonomo o se la pagina Web che lo contiene ne impedisce l'utilizzo.


Passaggio 5: Classe di documenti

Ricorda di aggiungere il nome della classe al Classe campo nel Pubblicare sezione del Proprietà pannello.


Passaggio 6: pubblica

Per vedere il SWF in azione (può darti errori durante il test nell'IDE) devi aprire il file nel browser, puoi premere Maiusc + Cmd + F12 (File | Pubblicare) per pubblicare un file HTML e quindi aprirlo o trascinare il file SWF dalla cartella del progetto al browser per vedere il file funzionante.


Conclusione

È possibile apportare modifiche specifiche all'applicazione in base ai dati del browser e degli User Agent ottenuti.

Stai attento con questo; l'uso della stringa dell'agente utente è considerato inaffidabile, in quanto gli utenti possono modificare il contenuto di questa stringa in vari modi. Alcuni browser hanno anche una funzione che consente loro di mascherarsi come altri browser cambiando la propria stringa di user agent. Non sarebbe saggio bloccare l'utente fuori da un sito (o lasciarlo solo a un sito) basandosi solo sulla stringa dell'agente utente.

Spero che questo suggerimento ti sia piaciuto, grazie per la lettura!