Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Alpha.ONE

Haudegen

Dabei seit: 25.03.2003

Beiträge: 544

 

1 Zum Seitenanfang

Montag, 28. Juni 2004, 13:48

[TUTORIAL] Flash Plugin Check

Jeder Flasher stellt sich irgendwann die Frage, ob der Besucher seiner HP das Plugin hat oder nicht. Es gibt drei möglichkeiten dies herauszufinden:

1. Auf einer statischen Startseiten werden die Voraussetzungen geschrieben.
2. Wir ermitteln über ActionScript ob und welches Plugin der User hat.

In diesem Tutorial widme ich mich der zweiten Methode.
Also fangen wir an:

Jede Version des Plugins hat seine speziellen Eigenschaften. Diese Eigenschaften ermöglichen uns, die Version des Plugins zu ermitteln.

Wir erstellen einen neuen Film mit 7 Schlüsselbilder, wobei die ersten zwei Schlüsselbilder für einen Preloader gedacht sind.

Im ersten Schlüsselbild schreiben wir folgenden Code:

Quellcode

1
2
3
ifFrameLoaded (7) {
gotoAndPlay(3);
}

Natürlich könnte man auch einen komplizierteren Preloader einbauen. Wie das geht könnt ihr meinem Preloader Tutorial entnehmen.

Damit der Code aus dem ersten Schlüsselbild immer wiederholt wird schreiben wir ins zweite Schlüsselbild:

Quellcode

1
gotoAndPlay(1);


Im dritten Schlüsselbild wird nun die Indentifizierung der neueren Plugins vorbereitet. Die neueren Player besitzen eine Variable $version die die Version enthält.
Wir setzen diese Variable folgendermaßen ein:

Quellcode

1
var a = eval("$version");

In den meisen fällen hat die Variale a den Wert "WIN 6,0,0,..."

Dieser String muss im vierten Schlüsselbild ausgewertet werden.
Dazu muss die Playerkennung ( hier 6 ) aus dem String gelöst werden.
Dies geschieht mit folgendem Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var x = "1"
while (Number(x)<Number(length(a))) {
if (substring(a,x,1) eq ",") {
if (Number(substring(a,x-1,1)) == 5) {
getURL("flash5.html");
stop();
}
if (Number(substring(a,x-1,1)) == 6) {
getURL("flash6.html");
stop();
}
}
x = Number(x)+1;
}


Was macht dieser Code?
Der String wird auf den Eintrag nach dem ersten Komma untersucht. Ist dieser gleich einer bekannten Playerkennung, so ruft das Script die entsprechende Seite auf und hält an.
Da alle Versionen die älter sind als 5 $version nicht kennen, wird das AS ignoriert und der Film geht im fünften Schlüsselbild weiter.

Der Flashplayer Version4 kennt im gegensatz zu seinen Vorgängern die Werte true & false. Dies nutzen wir aus.
Wir weisen einer beliebigen Variable die Wert true zu. Danach überprüfen wir ob die Variable diesen Wert angenommen hat.
Zum AS:

Quellcode

1
2
3
4
5
6
7
var pl4 ="true"
if (pl4 eq "true") {
getURL(flash4.html");
stop();
} else {
play();
}


Falss jemanf bei der Überprüfung bis an diese stelle gelangt ist, so kann er nur den flashplay Version 3 oder 2 besitzen.
Der Flashplayer 3 kann im gegensatz zum 2er Movieclips erkennen.
Dies nutzen wir aus. Wir erstellen im 6. Schlüsselbild einen leeren MC, der aus zwei leeren Schlüsselbildern besteht.
Im zweiten Schlüsselbild des MC muss folgender Code stehen:

Quellcode

1
2
getURL("flash3.html");
stop();


Das siebte Schlüsselbild erreicht also nur noch der der Player mit der Version 2.
Wir schreiben folgenden Code ins siebte Schlüsselbild:

Quellcode

1
2
getURL("flash2.html");
stop();


Somit haben wir jeden User auf seine spezifische Seite umgeleitet.

Der Flashfilm muss nun nur noch in eine html-Seite eingebunden werden.
Dies geschieht mit folgendem html Code:

Quellcode

1
2
3
4
5
6
<object width="50" height="50">
<param name=movie value="versionscheck.swf">
<param name=quality value=high>
<embed src="versionscheck.swf" quality=high type="application/x-shockwave-flash" width="50" height="50">
</embed>
</object>

Dieser Code verhindert das die Macromediaeigene Downloadseite aufgeht.

Damit auch besucher die keinen FlashPlayer besitzen auf eine Seite kommen, muss im Kopfbereich der html-Seite noch folgender Meta tag stehen:

Quellcode

1
meta http-equiv="refresh" content="6; URL noplayer.html">


Anmerkung:
Im Flashplayer sollten keine Bilder oder Text verwendet werden.

In der html-Seite ( Startseite ) sollte auch nichts weiters stehen auser :

meta Tags für die Suchrobots
einem html Link zur richtigen Seite für die Suchmaschinen

Viel Spaß beim probieren.

MfG
Die ersten vierzig Jahre unseres Lebens liefern den Text,
die folgenden dreißig den Kommentar dazu.