Sfat rapid Detectați browserul și agentul utilizatorului cu AS3

Urmați acest sfat rapid pentru a afla cum să detectați browserul de Internet și agentul de utilizator utilizând AS3 și Flash.


Pasul 1: Prezentare succintă

Vom folosi TextFields și ajutorul ExternalInterface pentru a prelua agentul utilizator, printr-un apel JavaScript, și îl vom afișa în SWF-ul nostru. Cu agentul de utilizator stocat, o căutare simplă prin String-ul returnat ne va da browserul de Internet.


Pasul 2: Configurați fișierul dvs. Flash

Lansați Flash și creați un nou document Flash, setați dimensiunea scenei la 400x200px și rata de cadre la 24fps.


Pasul 3: Interfața

Aceasta este interfața pe care o vom folosi, consultați imaginea de mai sus pentru numele instanțelor. Refaceți-l singur sau pur și simplu utilizați sursa FLA.


Pasul 4: ActionScript

Creați o nouă clasă ActionScript (Cmd + N), salvați fișierul ca Main.as și începeți să scrieți:

 pachet import flash.display.Sprite; import flash.external.ExternalInterface; importul flash.events.MouseEvent; import fl.transitions.Tween; clasa publică principală se extinde Sprite private var userAgent: String; funcția publică principală (): void more.addEventListener (MouseEvent.MOUSE_UP, showFull); browserTxt.text = getUserAgent (); letterpress.text = getUserAgent ();  funcția privată getUserAgent (): String try userAgent = ExternalInterface.call ("window.navigator.userAgent.toString"); var browser: String = "[Browser necunoscut]"; dacă (userAgent.indexOf ("Safari")! = -1) browser = "Safari";  dacă (userAgent.indexOf ("Firefox")! = -1) browser = "Firefox";  dacă (userAgent.indexOf ("Chrome")! = -1) browser = "Chrome";  dacă (userAgent.indexOf ("MSIE")! = -1) browser = "Internet Explorer";  dacă (userAgent.indexOf ("Opera")! = -1) browser = "Opera";  captură (e: Error) // nu a putut accesa ExternalInterface în returul paginii conținând "[No ExternalInterface]";  browser retur;  funcția privată showFull (e: MouseEvent): void info.fullInfo.text = userAgent; var tween: Tween = nou Tween (info, "y", null, info.y, 180,0,5, true); 

Un ExternalInterface apel la o funcție JavaScript va primi Agent utilizator șir și utilizați Index de() metodă de căutare a ID-ului fiecărui browser în cadrul acelui șir; dacă șirul Agent de utilizator conține numele browserului pe care îl căutați, puteți presupune că acesta este browserul pe care îl utilizează utilizatorul. Puteți adăuga un anumit browser în acest domeniu. Mai Mult butonul va anima info panou la scenă și dezvăluie informații complete despre agentul de utilizator.

În cazul în care ExternalInterface apelul nu reușește, instrucțiunea "try-catch" va ridica această problemă și va returna un mesaj de eroare simplu în caseta de text. Este posibil să eșueze dacă SWF este rulat în Flash Player autonom sau dacă pagina web care o conține interzice utilizarea acestuia.


Pasul 5: Clasa de documente

Nu uitați să adăugați numele clasei la Clasă domeniu în Publica secțiunea din Proprietăți panou.


Pasul 6: Publicați

Pentru a vedea SWF în acțiune (vă poate da erori la testarea în IDE) trebuie să deschideți fișierul în browser, puteți apăsa Shift + Cmd + F12 (Fișier | Publica) să publicați un fișier HTML și apoi să îl deschideți sau să trageți SWF din folderul proiectului în browser pentru a vedea că fișierul funcționează.


Concluzie

Puteți efectua modificări specifice aplicației dvs. în funcție de datele browserului și de agentul de utilizator obținute.

Fii atent cu asta; folosind șirul de agent utilizator este considerat nesigur, deoarece utilizatorii pot modifica conținutul acestui șir în diverse moduri. Unele browsere au chiar o caracteristică care le permite să se muleze ca și alte browsere prin schimbarea propriului șir de agenți de utilizator. Nu ar fi înțelept să închideți utilizatorul dintr-un site (sau să îl permiteți doar unui site) bazat numai pe șirul de agent de utilizator.

Sper că ți-a plăcut acest sfat rapid, mulțumesc că ai citit!

Cod