Schnelltipp Erkennen Sie den Browser und den Benutzeragenten mit AS3

Befolgen Sie diese Kurzanleitung, um zu erfahren, wie Sie den Internet-Browser und den Benutzeragenten mit AS3 und Flash erkennen.


Schritt 1: Kurzübersicht

Wir verwenden TextFields und die Hilfe von ExternalInterface, um den Benutzeragenten über einen JavaScript-Aufruf abzurufen und in unserer SWF-Datei anzuzeigen. Wenn der Benutzeragent gespeichert ist, wird der Internet-Browser bei einer einfachen Suche durch den zurückgegebenen String angezeigt.


Schritt 2: Richten Sie Ihre Flash-Datei ein

Starten Sie Flash und erstellen Sie ein neues Flash-Dokument. Stellen Sie die Bühnengröße auf 400x200px und die Bildrate auf 24fps ein.


Schritt 3: Schnittstelle

Dies ist die Schnittstelle, die wir verwenden werden. Die Instanznamen finden Sie in der Abbildung oben. Erstellen Sie es selbst oder verwenden Sie einfach die Quell-FLA.


Schritt 4: ActionScript

Erstellen Sie eine neue ActionScript-Klasse (Cmd + N) und speichern Sie die Datei als Main.as und fang an zu schreiben:

 package import flash.display.Sprite; import flash.external.ExternalInterface; import flash.events.MouseEvent; import fl.transitions.Tween; public class Main erweitert Sprite private var userAgent: String; public function Main (): void more.addEventListener (MouseEvent.MOUSE_UP, showFull); browserTxt.text = getUserAgent (); letterpress.text = getUserAgent ();  private Funktion getUserAgent (): String try userAgent = ExternalInterface.call ("window.navigator.userAgent.toString"); var browser: String = "[Unbekannter Browser]"; 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: Error) // konnte nicht auf ExternalInterface zugreifen, wenn die Seite zurückgegeben wurde "[No ExternalInterface]";  Browser zurückgeben;  private Funktion showFull (e: MouseEvent): void info.fullInfo.text = userAgent; var tween: Tween = neues Tween (info, "y", null, info.y, 180,0.5, true); 

Ein Externe Schnittstelle Ein Aufruf einer JavaScript-Funktion erhält die User-Agent string und benutze die Index von() Methode, um nach der ID jedes Browsers in dieser Zeichenfolge zu suchen; Wenn die User Agent-Zeichenfolge den Namen des gesuchten Browsers enthält, können Sie davon ausgehen, dass es sich um den Browser handelt, den der Benutzer verwendet. In diesem Bereich können Sie einen bestimmten Browser hinzufügen. Das Mehr Taste wird das animieren Info Panel auf die Bühne und enthüllen Sie die vollständigen User Agent-Informationen.

Wenn die Externe Schnittstelle Wenn der Aufruf fehlschlägt, wird die try-catch-Anweisung dies abrufen und eine einfache Fehlermeldung an das Textfeld zurückgeben. Dies kann fehlschlagen, wenn die SWF-Datei in Standalone-Flash Player ausgeführt wird oder wenn die betreffende Webseite ihre Verwendung verbietet.


Schritt 5: Dokumentenklasse

Vergessen Sie nicht, den Klassennamen dem hinzuzufügen Klasse Feld in der Veröffentlichen Abschnitt der Eigenschaften Panel.


Schritt 6: Veröffentlichen

Um die SWF-Datei in Aktion zu sehen (es kann zu Fehlern beim Testen in der IDE kommen), müssen Sie die Datei im Browser öffnen. Sie können Shift + Cmd + F12 drücken (Datei | Veröffentlichen), um eine HTML-Datei zu veröffentlichen und dann zu öffnen, oder ziehen Sie die SWF-Datei aus Ihrem Projektordner in den Browser, um die Funktion der Datei anzuzeigen.


Fazit

Sie können bestimmte Änderungen an Ihrer Anwendung vornehmen, die auf den erhaltenen Browser- und User Agent-Daten basieren.

Sei vorsichtig damit; Die Verwendung der Benutzeragentenzeichenfolge gilt als unzuverlässig, da Benutzer den Inhalt dieser Zeichenfolge auf verschiedene Arten ändern können. Einige Browser verfügen sogar über eine Funktion, mit der sie sich als andere Browser maskieren können, indem sie ihre eigene Benutzeragentenzeichenfolge ändern. Es wäre unklug, den Benutzer von einer Site aus zu sperren (oder ihn nur in eine Site einzulassen), und zwar nur auf der Benutzeragentenzeichenfolge.

Ich hoffe, Ihnen hat dieser Quick Tip gefallen, vielen Dank für das Lesen!