IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

detection plugin et redirection


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par d�faut detection plugin et redirection
    Salut � tous,

    j'ai lanc� un topic dans le forum flash, mais il concerne du code Javascript.

    Je n'arrive pas � comprendre un bug que vit IE et pas FF. Je veux d�tecter la pr�sence ou non du plugin Flash : si la version n'est pas suffisante l'internaute est rerout� automatiquement sans flash.
    FF agit tr�s bien dans les 2 cas, mais IE reroute vers la page sans flash m�me si le plugin est l�... ennuyeux, hein

    Le Kit que Adobe/Macromedia ont fait ne permet pas de r�orienter le navigateur, mais plutot de mettre une jolie image pour dire qu'il faut t�l�charger le plugin. Or c'est pas �a que je veux.

    Je replace ici le code que j'ai trouv� ici et qui marche sur le site de yugop utilise et marche bien... allez savoir pourquoi.

    Merci de me donner un coup de main
    Bye

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    function lanceur_redirection(fichier, nom_du_fichier,largeur, hauteur, couleur, url_sans_flash){
     
    var MM_contentVersion = 6;
    var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ?
    			navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 
    			0;
     
    if ( plugin ) {
    		var words = navigator.plugins["Shockwave Flash"].description.split(" ");
    	    for (var i = 0; i < words.length; ++i)
    	    {
    		if (isNaN(parseInt(words[i])))
    		continue;
    		var MM_PluginVersion = words[i];
    	    }
    	var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
    }
    /**/
    else if (
    		navigator.userAgent
    	 && navigator.userAgent.indexOf("MSIE")>=0
    	 && (navigator.appVersion.indexOf("Win") != -1)
    		){
     
    	document.write('<SCR' + 'IPT LANGUAGE=VBScript\>\n'); //FS hide this from IE4.5 Mac by splitting the tag 
    	document.write('on error resume next\n'); 
    	document.write('MM_FlashCanPlay=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion )))\n'); 
    	document.write('</SCR' + 'IPT\>\n');
     
    }
     
    if ( MM_FlashCanPlay ) {
     
    	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+largeur+'" height="'+hauteur+'" id="'+nom_du_fichier+'" align="middle">\n');
    document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
    document.write('<param name="movie" value="'+fichier+'" />\n');
    document.write('<param name="quality" value="high" /><param name="bgcolor" value="'+couleur+'" />\n');
    document.write('<embed src="'+fichier+'" quality="high" bgcolor="'+couleur+'" width="'+largeur+'" height="'+hauteur+'" name="'+nom_du_fichier+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
    document.write('</embed>');
    document.write('</object>\n');
     
    } else{ //  REDIRECTION
    	window.location.replace(url_sans_flash);
    }
     
    }

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    regarde plutot dasn la FAQ comment ajouter un script dynamiquement ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre habitu�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par d�faut
    Ca y est, j'ai trouv�!!!

    Le code est assez complexe parce qu'il contient du VBScript (moi, konnai pas).

    Alors je vous fourni le code que j'ai puis� ici. C'est tr�s bien expliqu�, j'ai adapt� �a � mon cas. Je vous fournis le code

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <SCRIPT LANGUAGE="Javascript">
    <!--
    var flashinstalled = 0;
    var flashversion = 0;
    MSDetect = "false";
    if (navigator.plugins && navigator.plugins.length)
    {
    	x = navigator.plugins["Shockwave Flash"];
    	if (x)
    	{
    		flashinstalled = 2;
    		if (x.description)
    		{
    			y = x.description;
    			flashversion = y.charAt(y.indexOf('.')-1);
    		}
    	}
    	else
    		flashinstalled = 1;
    	if (navigator.plugins["Shockwave Flash 2.0"])
    	{
    		flashinstalled = 2;
    		flashversion = 2;
    	}
    }
    else if (navigator.mimeTypes && navigator.mimeTypes.length)
    {
    	x = navigator.mimeTypes['application/x-shockwave-flash'];
    	if (x && x.enabledPlugin)
    		flashinstalled = 2;
    	else
    		flashinstalled = 1;
    }
    else
    	MSDetect = "true";
    // -->
    </SCRIPT>
    Et l� la partie VBScript qu'utilise IE, pcqu'il n'interpr�te pas le code pr�c�dent:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <SCRIPT LANGUAGE="VBScript">
    on error resume next
     
    If MSDetect = "true" Then
    	For i = 2 to 9
    		If Not(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & i))) Then
     
    		Else
    			flashinstalled = 2
    			flashversion = i
    		End If
    	Next
    	If flashinstalled = 0 Then
    		flashinstalled = 1
    	End If
    End If
    </SCRIPT>
    Ensuite j'utilise le r�sultat et je v�rifie que la version flash de l'internaute est sup�rieure � Flash Player 6.
    - Si c'est bon, l'anim flash est lanc�e avec la fonction lanceur_anim que j'ai cr�� pour �viter l'ActiveX (cf plus loin)
    - Si c'est pas le cas, le navigateur va sur 1 autre page.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <script language="javascript" type="text/javascript">
    <!--
     
    if (flashinstalled == 2) {
    	if (flashversion >=6) {
    		lanceur_anim('diaporama_elastique.swf', 400, 100, '#FFF');
    	} else {
    		window.location.replace("autre_page.php");
    	}
    }
    else if (flashinstalled == 1) window.location.replace("gallerie.php");
    else document.write("I can't find out if you have Flash installed.");
    // -->
    </script>
    Enfin la fonction qui lance l'anim correctement dans IE sans les pbs de l'ActiveX qui oblige � l'internaute de cliquer 2 fois sur l'animation au lieu d'une.
    Le principe : l'anim est lanc�e par javascript, c'est � dire apr�s que l'activeX de IE ait fait le controle de la page. ainsi ActiveX ne la bloque pas
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function lanceur_anim(fichier, largeur, hauteur, couleur) {
    document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+largeur+'" height="'+hauteur+'" id="truk" align="middle">\n');
    document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
    document.write('<param name="movie" value="'+fichier+'" />\n');
    document.write('<param name="quality" value="high" /><param name="bgcolor" value="'+couleur+'" />\n');
    document.write('<embed src="'+fichier+'" quality="high" bgcolor="'+couleur+'" width="'+largeur+'" height="'+hauteur+'" name="truk" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
    document.write('</embed>');
    document.write('</object>\n');
    }
    Bonne utilisation !!!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Detection Navigateur et redirection
    Par jeromelabbe0649 dans le forum Langage
    R�ponses: 5
    Dernier message: 25/01/2012, 23h35
  2. Detection plugin flash
    Par Alain15 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 16/08/2006, 11h39
  3. detection plugin flash
    Par freija dans le forum Flash
    R�ponses: 6
    Dernier message: 03/07/2006, 11h38
  4. [v3.0] probleme detection plugins
    Par jcarre dans le forum Eclipse Java
    R�ponses: 2
    Dernier message: 05/07/2004, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo