Avatar billede tejs Nybegynder
28. januar 2002 - 18:31 Der er 14 kommentarer og
1 løsning

Den perfekte flash-detecter..

Hej,

Jeg har brug for et script der kan detecte om brugerne af mit website har installeret flash 5...

Det drejer sig mere eller mindre om det ultimative flash-script.. :-|

Det skal kunne tjekke de 3 vigtigste browsere (Opera, Netscape og Internet Explorer)
Det skal virke på mac og pc og så må det meget gerne kunne bestemme versionen af Flash plugin'et hvis det er muligt..

Det jeg nemlig gerne vil opnå er at hvis mine brugere har Flash 5, så sendes de til en bestemt side og har de ikke så sendes de til en anden...

Hvor finder jeg sådan et script - jeg kan da umuligt være den eneste der har brug for det.. :-)

MVH
Tejs
Avatar billede casm_ Nybegynder
28. januar 2002 - 18:34 #1
macromedias egen...

<HTML>
<HEAD>
<TITLE>The Portal</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- use this comment tag to hide the enclosed code from old browsers.

//Look for a version of Internet Explorer that supports ActiveX (i.e., one that's
//running on a platform other than Mac or Windows 3.1) or a browser that supports
//the plugin property of the navigator object and that has Flash Player 2.0
//installed.

if ((navigator.appName == "Microsoft Internet Explorer" &&
    navigator.appVersion.indexOf("Mac") == -1 &&  navigator.appVersion.indexOf("3.1") == -1) ||

    (navigator.plugins && navigator.plugins["Shockwave Flash"])
                      || navigator.plugins["Shockwave Flash 5.0"]){

  //Load a pre-defined HTML page with Flash Player in it into the browser window.
    window.location='flashed.html';
}
else {
    //Load a pre-defined HTML page without Flash Player into the browser window.
    window.location='nonflashed.html';
}

// Close the comment tag. -->
</SCRIPT>
</HEAD>

<BODY>

<CENTER>

<H3><A HREF="flashed.html">See the Flashed Site</A><BR>
<FONT SIZE=3>requires <A HREF="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Flash Player</A></FONT></H3>

<H3><A HREF="nonflashed.html">See the unFlashed Site</A></H3>
</CENTER>

</BODY>
</HTML>
Avatar billede casm_ Nybegynder
28. januar 2002 - 18:37 #2
jeg ved ikke om du kan finde et der kan tjekke de andre browsere :(

men dette har jeg har jeg fået fra macromedia.com, og det skulle være underligt at DE ikke lavede det hvis man kunne...
Avatar billede dk-pingvinen Nybegynder
28. januar 2002 - 18:40 #3
KODEN:

<HTML>
<HEAD>
<TITLE>The Portal</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- use this comment tag to hide the enclosed code from old browsers.

//Look for a version of Internet Explorer that supports ActiveX (i.e., one that's
//running on a platform other than Mac or Windows 3.1) or a browser that supports
//the plugin property of the navigator object and that has Flash Player 2.0
//installed.

if ((navigator.appName == "Microsoft Internet Explorer" &&
    navigator.appVersion.indexOf("Mac") == -1 &&  navigator.appVersion.indexOf("3.1") == -1) ||

    (navigator.plugins && navigator.plugins["Shockwave Flash"])
                      || navigator.plugins["Shockwave Flash 5.0"]){

  //Load a pre-defined HTML page with Flash Player in it into the browser window.
    window.location='flashed.html';
}
else {
    //Load a pre-defined HTML page without Flash Player into the browser window.
    window.location='nonflashed.html';
}

// Close the comment tag. -->
</SCRIPT>
</HEAD>

<BODY>

<CENTER>

<H3><A HREF="flashed.html">See the Flashed Site</A><BR>
<FONT SIZE=3>requires <A HREF="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Flash Player</A></FONT></H3>

<H3><A HREF="nonflashed.html">See the unFlashed Site</A></H3>
</CENTER>

</BODY>
</HTML>

understøttes både af Nescape, og Microsoft internet explorer, 4+ mener jeg.

Så laver du to sider:

'flashed.html' på denne skriver du: du har flash-instaleret
'nonflashed.html' du har ikke flash-instaleret download på det macromedia.com
Avatar billede casm_ Nybegynder
28. januar 2002 - 18:55 #4
>>>>>>>>>>>>>Svar fra dk-pingvinen
28/01-2002 18:40:14>>>>>>>>>>hvorfor svar du det samme som jeg lige har gjort? 6 minutter efter!!!!!!!!!!!!!!!
Avatar billede flash_gordon Nybegynder
28. januar 2002 - 19:46 #6
Jeg plejer at bruge en simpel og meget nem metode. Når brugeren kommer ind på min forside som indeholder "Du har ikke flash plug-in, hent det her..", og nu kommer det spændende. Jeg har således også et også noget flash inde på siden som kun har en frame, og i den frame siger du at der skal åbnes et vindue hvor dit egentlig flash så skal være på.
Man kan måske ikke finde ud at hvilken version brugeren har, men hvis man ikke har flash bliver det i hver fald.
En lille tankeeksperiment:
Jeg ved ikke om jeg er den første der går dette tankeeksperiment, men kunne man ikke i stedet for kun getURL tilføje en funktion som kun flash 5 kan lave, og hvis den bliver beregnet kommer man videre. Er det ikke muligt? Det vil i hvert fald i mine øjne virker på alle browsere?
Jeg ved ikke om i kan følge mig?
Avatar billede tejs Nybegynder
28. januar 2002 - 22:21 #7
Jo det er faktisk meget smart, men hvilken funktion er det lige jeg skal bruge så..?
Avatar billede tejs Nybegynder
28. januar 2002 - 22:23 #8
Det der script fra macromedia ser fint ud, men understøtter det Mac?
Jeg kom lidt i tvivl, da jeg så dette:

//Look for a version of Internet Explorer that supports ActiveX (i.e., one that's
//running on a platform other than Mac or Windows 3.1) or a browser that supports
//the plugin property of the navigator object and that has Flash Player 2.0
//installed.

Hvad mener I..?
Avatar billede tejs Nybegynder
28. januar 2002 - 22:28 #9
Hvad nu hvis man laver en stump flash 5 med et der siger onload geturl og går til flashsiden. Så kan man sætte den der refresh meta-tag ind i toppen af html-siden og sætte den til at vente 2 sekunder og gå til siden uden flash..

Vil et flash 4-plugin overhovedet kunne læse en stump Flash 5..?
Avatar billede barklund Nybegynder
29. januar 2002 - 10:27 #10
I en anden tråd blev det nemt, at man kan skrive:

flash5 = new Boolean(true);
if (flash) {
    getURL("flash5.html");
} else {
    getURL("gammel_flash");
}

Og så på htmlsiden have en refresh, der efter 5 sekunder sendte til no_flash.html...

Boolean-objektet er nemlig kun understøttet af 5'eren, så ældre browsere vil gå i "else"...

/Barklund
Avatar billede tejs Nybegynder
29. januar 2002 - 12:08 #11
Det der egnetlig er brug for er jo her:

flash5 = new Boolean(true);
if (flash) {
    getURL("flash5.html");
} else {
    getURL("gammel_flash");
}

Jeg kan jo bare rette gammel_flash til at pege til en ingen flash_side.html
Jeg prøver lige...
Avatar billede tejs Nybegynder
29. januar 2002 - 12:26 #12
OK - jeg tror ikke jeg fattede at dette script var til flash - men så vil der jo være brug for en refresh, det er rigtigt nok..
Det gør jeg lige..
Avatar billede barklund Nybegynder
29. januar 2002 - 13:29 #13
Ja... Den simpleste detector er bare en flashfilm, der siger:

if (new Boolean(true) {
  getURL("flash.htm");
}

Og så en refresh i html'en på 5 sekunder, der sender til ikke flash... Fanger du også gammel flash, så kan man i stedet sende til en opdater-side, hvis man ønsker det...

Takker for point...
Avatar billede barklund Nybegynder
29. januar 2002 - 13:30 #14
jaja... Det er et par fejl rundt omkring...

I det første script skal det selvfølgelig stå:

if (flash5) { ...

Og i det andet:

if (new Boolean(true)) { ...

Men sådan kan det gå...
Avatar billede oersted Novice
19. april 2003 - 18:40 #15
kunne man på samme måde lave en detect flash mx ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester