Följ den här snabba tipsen för att lära dig hur du upptäcker webbläsaren och användaragenten med hjälp av AS3 och Flash.
Vi använder TextFields och hjälp av ExternalInterface för att hämta användaragenten via ett JavaScript-samtal och visa det i vår SWF. Med användaragenten lagrad kommer en enkel sökning genom den returnerade strängen att ge oss webbläsaren.
Starta Flash och skapa ett nytt Flash-dokument, sätt scenstorleken till 400x200px och bildhastigheten till 24fps.
Detta är gränssnittet vi ska använda, hänvisa till bilden ovan för förekomstnamnen. Återskapa det själv eller använd helt enkelt källan FLA.
Skapa en ny ActionScript-klass (Cmd + N), spara filen som Main.as och börja skriva:
paket import flash.display.Sprite; importera flash.external.ExternalInterface; importera flash.events.MouseEvent; import fl.transitions.Tween; public class Main utökar Sprite private var userAgent: String; allmän funktion Main (): void more.addEventListener (MouseEvent.MOUSE_UP, showFull); browserTxt.text = getUserAgent (); letterpress.text = getUserAgent (); privat funktion getUserAgent (): String försök userAgent = ExternalInterface.call ("window.navigator.userAgent.toString"); var webbläsare: String = "[Okänd webbläsare]"; om (userAgent.indexOf ("Safari")! = -1) browser = "Safari"; om (userAgent.indexOf ("Firefox")! = -1) browser = "Firefox"; om (userAgent.indexOf ("Chrome")! = -1) browser = "Chrome"; om (userAgent.indexOf ("MSIE")! = -1) browser = "Internet Explorer"; om (userAgent.indexOf ("Opera")! = -1) browser = "Opera"; fångst (e: Error) // kunde inte komma åt ExternalInterface med innehållsavkastning "[No ExternalInterface]"; returnera webbläsaren; privatfunktionsvisningFull (e: MouseEvent): void info.fullInfo.text = userAgent; var tween: Tween = ny Tween (info, "y", null, info.y, 180,0,5, true);
En External
Ring till en JavaScript-funktion kommer att få Användaragent sträng och använd index för()
metod för att söka efter varje webbläsarens ID inom den här strängen; Om användaragentsträngen innehåller namnet på webbläsaren du letar efter kan du anta att det är den webbläsare som användaren använder. Du kan lägga till en viss webbläsare i det här området. De Mer knappen kommer att animera info panel till scenen och avslöja fullständig användaragentinformation.
Om External
samtalet misslyckas, försöket i fångstklarationen hämtar detta och returnerar ett enkelt felmeddelande till textrutan. Det kan misslyckas om SWF körs i fristående Flash Player, eller om den innehållande webbsidan förbjuder dess användning.
Kom ihåg att lägga till klassnamnet till Klass fält i Publicera del av Egenskaper panel.
För att se SWF i funktion (det kan ge dig fel vid testning i IDE) måste du öppna filen i webbläsaren, du kan trycka på Shift + Cmd + F12 (Fil | Publicera) För att publicera en HTML-fil och öppna den, eller dra SWF-filen från din projektmapp till webbläsaren för att se filen som fungerar.
Du kan göra specifika ändringar av din ansökan baserat på webbläsaren och användaragentdata som erhållits.
Var försiktig med detta; Användandet av användaragentsträngen anses vara opålitligt, eftersom användarna kan ändra innehållet i denna sträng på olika sätt. Vissa webbläsare har även en funktion som gör det möjligt för dem att maskera som andra webbläsare genom att ändra sin egen användaragentsträng. Det skulle vara oklokt att låsa användaren ur en webbplats (eller bara lämna in dem till en webbplats) baserad endast på användaragentsträngen.
Jag hoppas att du gillade den här snabba tipsen, tack för att du läste!