Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Flash Plug-In Erkennung

Geschrieben von: Christian Koller
Kategorie: Komponenten

Die Verwendung der Macromedia Flash Player Technologie in Internetseiten ist aufgrund der kompakten Dateigröße von Flash-Elementen und der überaus vielfältigen Möglichkeiten, die Flash bietet, weit verbreitet.

Ob nun Macromedia Flash nur als multimediales Intro für eine Website gebraucht wird, oder als tragendes Element zum Beispiel als Navigationsleiste, immer stellt sich die bange Frage: "Hat der User in seinem Browser auch das benötigte Flash Plug-In installiert?"

Da dies durchaus nicht immer der Fall ist, erhebt sich gleich darauf die nächste Frage: "Wie kann ich prüfen, ob der User das Flash Plug-In installiert hat?"

Um auf einer ASP Seite mit einfachen Mitteln zu prüfen, ob in einem beliebigen Browser (Microsoft Internet Explorer, Netscape Navigator, oder andere Browser) ein Macromedia Flash Plug-In installiert ist, bedient man sich am besten der BrowserHawk 2000 Server-Komponente.

Nachdem sie die BrowserHawk Komponente auf ihrem ASP Server installiert haben, können sie in ASP Seiten wie folgt prüfen, ob ein Browser das Macromedia Flash Plug-in installiert hat (ausführbares Beispiel):

<% 
Set BrowserHawk = Server.CreateObject("cyScape.browserObj")
BrowserHawk.GetExtProperties

Dim FlashDetect
FlashDetect = BrowserHawk.Plugin_Flash
%>

<HTML>
<HEAD>
	<TITLE>Flash Erkennung</TITLE>
</HEAD>
<BODY>

<% 
If FlashDetect = -1 Then
	Response.Write "Flash Plug-In konnte nicht geprüft werden."
ElseIf FlashDetect = 0 Then
	Response.Write "Flash Plug-In nicht installiert."
Else
	Response.Write "Flash Plug-In Version " & FlashDetect & " installiert."
End If
%>

</BODY>
</HTML>

<% 
' Resourcen freisetzen
Set BrowserHawk = Nothing
%>

Anstatt nur Informationen über das Flash Plug-In auszugeben, können sie natürlich auch automatisch eine andere Seite laden. Das folgende ASP Skript leitet automtisch zu einer Flash 3 oder Flash 4 Seite um wenn das entsprechende Flash Plug-In installiert ist (ausführbares Beispiel):

<% 
Set BrowserHawk = Server.CreateObject("cyScape.browserObj")
BrowserHawk.GetExtProperties

Dim FlashDetect
FlashDetect = BrowserHawk.Plugin_Flash

If FlashDetect <= 0 Then
	' Flash Plug-In konnte nicht geprueft werden 
	' oder Plug-In ist nicht installiert

ElseIf FlashDetect = 3 Then
	' Flash Version 3, Umleitung zu Flash3.asp
	Response.Redirect("Flash3.asp")
ElseIf FlashDetect >= 4 Then
	' Flash Version 4 oder hoeher, Umleitung zu Flash4.asp
	Response.Redirect("Flash4.asp")
End If
%>

<HTML>
<HEAD>
	<TITLE>Flash Erkennung</TITLE>
</HEAD>
<BODY>

<% 
If FlashDetect = -1 Then
	Response.Write "Flash Plug-In konnte nicht geprüft werden.<BR>"
	Response.Write "Klicken Sie hier für "
	Response.Write "<A HREF=""Flash3.asp"">Flash Version 3</A> oder "
	Response.Write "<A HREF=""Flash4.asp"">Flash Version 4 und höher</A>."
ElseIf FlashDetect = 0 Then
	' Flash nicht installiert
	Response.Write "Flash Plug-In nicht installiert."
Else
	Response.Write "Fehler bei Flash Plug-In Detektion."
End If
%>

</BODY>
</HTML>

<% 
' Resourcen freisetzen
Set BrowserHawk = Nothing
%>

Beim Einsatz der BrowserHawk 2000 Komponente gilt es folgendes zu beachten:

  • Der Aufruf der GetExtProperties Methode ist immer dann notwendig, wenn eine der folgenden Browsereigenschaften ausgelesen werden soll:
    JavaEnabled, JavaScriptEnabled, Plugin_Flash, Plugin_Director, Height, Width, HeightAvail, oder WidthAvail.
  • Alle Aktionen, die sie vor dem Aufruf der GetExtProperties Methode tätigen, werden bei einem Aufruf ihrer Seite zweimal ausgeführt. Der Grund ist, daß die GetExtProperties Methode die ASP Seite im Browser selbst nocheinmal aufruft um auf diese Weise die Eigenschaften des Flash Plug-Ins zu gewinnen.
  • Wenn sie Daten aus einem mittels POST-Methode abgesendeten Formular abfragen wollen, so sollten sie die GetExtProperties Methode des BrowserHawk Objektes nicht verwenden.
    Der Grund liegt darin, daß die Komponente intern beim Aufruf der GetExtProperties Methode eine HTML Seite mit JavaScript Code an den Browser schickt und darauf wartet, bis der Browser wieder antwortet. Die Antwort des Browsers kommmt als nochmaliger Aufruf der Seite, wobei im QueryString der Parameter bhjs einen Wert bekommt. Durch diesen nochmaligen Aufruf gehen aber alle geposteten Werte des Formulars verloren. Es bieten sich folgende Auswege an:

    1. Wenn die Formulardaten eine Größenordnung von 512 bis 2000 Zeichen nicht überschreiten, so können sie die GET Methode verwenden um das Formular abzuschicken. Auf der ASP Seite, die die Daten entgegen nimmt, müssen sie dann statt der Request.Form Collection die Request.QueryString Collection benutzen.
    2. Sie lesen UND verarbeiten die Werte vor dem Aufruf der GetExtProperties Methode. Dies hat den Nachteil, daß sie Fomularwerte nur über sehr große Umwege in der weiteren ASP Seite verwenden können. Außerdem müssen sie beim Aufruf der Seite prüfen, ob gerade das abgesendete Formular bearbeitet wird oder nur der von der GetExtProperties Methode initiierte Reload der Seite im Gange ist. Hat die ASP Seite ein mittels POST-Methode abgesendetes Formular empfangen, so ist die folgende Bedingung erfüllt:
	Request.ServerVariables("CONTENT_LENGTH") <> 0
	
  • Wenn am Browser JavaScript deaktiviert ist, oder er keine client-seitigen Scripts ausführen kann, so liefert die Flash Eigenschaft des BrowserHawk Objektes (natürlich nach vorherigem Aufruf der GetExtProperties Methode) den Wert -1, was darauf hinweist, daß BrowserHawk nicht bestimmen konnte ob ein Flash Plug-In installiert ist.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Browsereigenschaften mit BrowserHawk 2000 bestimmen
Flash Detection ohne Komponente
Flash Movies einbetten einfach gemacht

Links zu anderen Sites

BrowserHawk 2000
Macromedia Flash

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.