begin process at 2010 09 09 12:50:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > DETECTER LE PLAYER FLASH ET REMPLACER PAR UNE IMAGE SI NON PRESENT (TOUS NAVIGATEURS)

DETECTER LE PLAYER FLASH ET REMPLACER PAR UNE IMAGE SI NON PRESENT (TOUS NAVIGATEURS)


 Information sur la source

Note :
5 / 10 - par 2 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :27/12/2004 Date de mise à jour :24/05/2005 21:58:18 Vu :16 333

Auteur : jojokerker

Ecrire un message privé
Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

 Description

Voila aprés avoir cherché un peu partout je vous ai fait un bout de code qui vous sera peut etre utile.
Il cherche la presence du plugin flash sur le navigateur du client (testé seulement  sur Mozilla FireFox et IE ). Et vous permet en cas d'echec d'afficher autre chose que l'anime flash.
Bonne prog.

/!\ : le contenue des document.write("") doivent etre sur 1 ligne et il faut remplacer les " par '.
      ex: document.write("<a href='www.monsite.com' target='_blank' >test</a>


Source

  • <html>
  • <head>
  • <title>Test</title>
  • <SCRIPT LANGUAGE="JavaScript">
  • var isFlash = false;
  • // Pour tous navigateurs sauf IE
  • if (navigator.plugins && navigator.plugins.length > 0) {
  • var pluginsArrayLength = navigator.plugins.length;
  • // Pour chaque plugin du navigateur...
  • for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
  • if(navigator.plugins[pluginsArrayCounter].name.indexOf("Shockwave Flash") >= 0){ // Si 1 des plugins contient Shockwave Flash
  • isFlash = true; // Alors flash player OK
  • break;
  • }
  • }
  • }
  • </SCRIPT>
  • <SCRIPT LANGUAGE="VBScript">
  • // Detection pour Internet Explorer
  • On error resume next
  • isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
  • </SCRIPT>
  • </head>
  • <body>
  • <!-- A placer ou vous avez votre anime flash -->
  • <SCRIPT LANGUAGE="JavaScript">
  • if(isFlash){
  • document.write("Flash ok. <br>Votre anime flash"); // Placez votre anime
  • }else{
  • document.write("Flash bad votre image de remplacement"); // Placez votre image de remplacement
  • }
  • </SCRIPT>
  • <!-- ------------------------------------ -->
  • </body>
  • </html>
<html>
<head>
<title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
 var isFlash = false;
 // Pour tous navigateurs sauf IE
 if (navigator.plugins && navigator.plugins.length > 0) {
	var pluginsArrayLength = navigator.plugins.length;
	// Pour chaque plugin du navigateur...
	for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
  		if(navigator.plugins[pluginsArrayCounter].name.indexOf("Shockwave Flash") >= 0){ // Si 1 des plugins contient Shockwave Flash
		 isFlash = true; // Alors flash player OK 
		 break;
		}
	  }
	}	
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
// Detection pour Internet Explorer 
On error resume next
isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
</SCRIPT>
</head>
<body>
<!-- A placer ou vous avez votre anime flash -->
	<SCRIPT LANGUAGE="JavaScript">
	if(isFlash){
		document.write("Flash ok. <br>Votre anime flash"); // Placez votre anime
	}else{
		document.write("Flash bad votre image de remplacement"); // Placez votre image de remplacement
	}
	</SCRIPT>
<!-- ------------------------------------ -->
</body>
</html>



 Historique

22 avril 2005 15:43:41 :
24 mai 2005 21:58:18 :
Suite a un pb de compréhension recurant j'ai ajouter un explication suplementaire dans la description. Bonne prog.

 Sources de la même categorie

Source avec Zip Source avec une capture GOOGLE MAP API V3 CARTE, MARQUEUR, INFOWINDOWS par varfendell
Source avec Zip Source avec une capture TELECHARGEMENT SANS RECHARGER LA PAGE par zulrigh
AUTOMATION EXCEL PAR JAVASCRIPT par Cpustack
REMPLACER LE INNERTEXT/TEXTCONTENT SANS SUPPRIMER LES BALISE... par jdmcreator
HTML_ENTITIES_DECODE par zen69

Commentaires et avis

Commentaire de funghi le 13/04/2005 12:10:57

arf, il marche pas ton code :
il détecte toujours le plug-ins flash sous IE, opera et safari !!! je suis sur mac, ca viens peut etre de ca ....

Commentaire de jojokerker le 13/04/2005 18:05:56

Merci :)

Commentaire de laetitia75013 le 14/04/2005 17:53:12

Bonjour,
pour la 1ère partie du code OK, pour la seconde c'est plus compliqué :
<script LANGUAGE="JavaScript">
  if(isFlash){
    document.write("Flash ok. <br>Votre anime flash"); // Placez votre anime
  }else{
    document.write("Flash bad votre image de remplacement"); // Placez votre image de remplacement
  }
  </script>

pourriez vous me donner un exemple avec du "vrai" code; car je ne sais pas s'il faut mettre la balise object en entier, ou seulement le swf et le gif ...


help !

Merci d'avance pour votre réponse

laetitia75013

Commentaire de jojokerker le 15/04/2005 11:25:00

Salut laetitia75013,
voila ce que tu demande

<script LANGUAGE="JavaScript">
  if(isFlash){
    document.write("<object ...........></object>");
  }else{
    document.write("<img src='TonImage.gif'>");
  }
  </script>

Donc en resumé tu met ta balise <objet></objet> en entier pour l'anime flash et tu met ta balise html <img > pour ton image de remplacement.

J'espere avoir été assé clair n'hesite pas a reposter si c'est pas compris ou si ça ne fonctionne pas ;).

Bye

Commentaire de laetitia75013 le 15/04/2005 16:55:04

Bonjour,
Merci de m'avoir réponsu, j'ai donc intégré ce code (ci-après) mais ça ne fonctionne pas... J'ai pourtant bien mis le 1er script  juste après <head> et j'ai essayé sur un poste qui a le plugin flash : rien, et un autre qui ne l'a pas : rien non plus...
Ai-je fait une erreur dans le code ?

Merci pour ton aide....

code :


<script LANGUAGE="JavaScript">
  if(isFlash){
    document.write("<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="313" height="272">
  <param name=movie value="http://www.europe.adp.com/family_adp/family002/ftp/adp_uk_flash.swf">
  <param name=quality value=high>
  <embed src="http://www.europe.adp.com/family_adp/family002/ftp/adp_uk_flash.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="313" height="272">
  </embed>
</object>");
  }else{
    document.write("<img src="http://www.europe.adp.com/ftp_adp/da/photos_home_uk.gif">");
  }
  </script>

Commentaire de jojokerker le 15/04/2005 18:22:43

Salut,

Il faut que tu remplace tous les " par ' (ou \" ) et ca va fonctionner.

exemple pour ton image :

document.write("<img src='http://www.europe.adp.com/ftp_adp/da/photos_home_uk.gif'>");

Voila si tu rencontre d'autre pb je me d*ferai un plaisir de t'aider ;)

Bye

Commentaire de laetitia75013 le 17/04/2005 11:20:59

MERCI !!!

Commentaire de jojokerker le 22/04/2005 15:38:50

Sinon j'allais oublier il faut mettre tous ce qu'il y a dans le document.write(".................."); sur une seul ligne !!!!!

A+

Commentaire de laetitia75013 le 09/05/2005 12:30:01

Effectivement ça change tout : ca marche !
Merci encore pour ton aide.
A+

Commentaire de jomaggo le 24/05/2005 12:01:21

je n'arrive pas a le faire fonctionner
SVP. Je pense qu'il n'y a pas le plugin flash sur le pc que j'utilise donc je voudrais donc au moins voir apparaitre l'image utilisée si le plugin flash.
Ca ne fonctionne pas.
Voici mon code sachant que j'ai bien mis la partie du head

<SCRIPT LANGUAGE="JavaScript">
if(isFlash){
document.write("Flash ok. <br><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"WIDTH=700 HEIGHT=1434><PARAM NAME=movie VALUE="plan.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#000099> <EMBED src="'. $chemin_site .'/im/plan.swf" quality=high bgcolor=#000099  WIDTH=700 HEIGHT=1434 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED></OBJECT>"); // Placez votre anime
}else{
document.write("<img src='http://www.mairie-socx.com/im/plan.jpg'>");

}
</SCRIPT>
*
Merci d'avance

Commentaire de jojokerker le 24/05/2005 21:53:08

Salut,

Il faut que tu remplace tous les " par ' (ou \" )dans les 2 document.write("")et ca va fonctionner.
En n'oublie pas de mettre tous le contenue des document.write("") sur 1 ligne !!!

A+

Commentaire de hellnn le 16/07/2005 21:10:53

Bonjour à tous, je suis newbie sur sur ce forum et en javascript .... j'essaye désespéremment de faire fonctionner ce bout de code, j'ai bien mis mon anim sur une ligne et remplacé les guillemets dans les () par ', mais malheureusment ça ne fonctionne pas. l'animation est reconnue et lorsque je change le nom de l'anim pour que la navigateur ne l'affiche pas je n'ai pas l'image de remplacement!
Par ailleurs j'ai deux animations dans cette page, donc comment faire avec deux ?
Pourriez vous m'aider svp, voici mon code (pour celle du haut):

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>...</title>
<link href="style.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
  var isFlash = false;
  if (navigator.plugins && navigator.plugins.length > 0) {
     var pluginsArrayLength = navigator.plugins.length;
     for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
           if(navigator.plugins[pluginsArrayCounter].name.indexOf("Shockwave Flash") >= 0){
          isFlash = true;
          break;
         }
      }
     }    
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
On error resume next
isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
</SCRIPT>

</head>

<body>
<div align="center">
<table width="600" border="0" align="center" cellspacing="0" class=tableintro>
<tr class="tableintro">
<td>
<div>
<div align="center">

<!-- A placer ou vous avez votre anime flash -->
<SCRIPT LANGUAGE="JavaScript">
     if(isFlash){
         document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="170"><param name="movie" value="animlebconnec.swf"><param name="quality" value="high"><embed src="animlebconnect.swf" quality="high" type="application/x-shockwave-flash" width="550" height="170"></object>');
     }else{
         document.write('<img src="replace.gif">');
    }
</script>

<p>&nbsp;</p>
</div>
<table width="600" cellpadding="20" align="center" border="1" cellspacing="2">
<tr>
<td class="tablenormal">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span class="titres">We are working on...</span></p>
<p align="center"><span class="titres">The aim...</span></p>
<p align="center"></p>
<p align="center"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>
</tr>
</table>
<div align="center">
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="80" width="600">
<param name="movie" value="leb_menu.swf">
<param name="quality" value="best">
<param name="play" value="true">
<embed height="80" pluginspage="http://www.macromedia.com/go/getflashplayer" src="leb_menu.swf" type="application/x-shockwave-flash" width="600" quality="best" play="true">
</object></p>
<div align="center">

</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</body>

</html>

Commentaire de jojokerker le 17/07/2005 18:17:28

Salut,
Bon j'ai corrigé ton code tu veras en comparant les 2 pk ca ne fonctionné pas.
Ensuite je l'ai modifié pour prendre en compte ta deuxiéme anime flash tu veras qu'il n'y a rien de compliqué...

A+ & bon courage

----------- CODE ----------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>...</title>
<link href="style.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
  var isFlash = false;
  if (navigator.plugins && navigator.plugins.length > 0) {
     var pluginsArrayLength = navigator.plugins.length;
     for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
           if(navigator.plugins[pluginsArrayCounter].name.indexOf("Shockwave Flash") >= 0){
          isFlash = true;
          break;
         }
      }
     }    
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
On error resume next
isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
</SCRIPT>

</head>

<body>
<div align="center">
<table width="600" border="0" align="center" cellspacing="0" class=tableintro>
<tr class="tableintro">
<td>
<div>
<div align="center">

<!-- A placer ou vous avez votre anime flash -->
<!-- Ta premiere anime -->
<SCRIPT LANGUAGE="JavaScript">
     if(isFlash){//Tu avais inversé les " et ' a remplacé :)
         document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='550' height='170'><param name='movie' value='animlebconnec.swf'><param name='quality' value='high'><embed src='animlebconnect.swf' quality='high' type='application/x-shockwave-flash' width='550' height='170'></object>");
     }else{
         document.write("<img src='replace.gif'>");
    }
</script>

<p>&nbsp;</p>
</div>
<table width="600" cellpadding="20" align="center" border="1" cellspacing="2">
<tr>
<td class="tablenormal">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span class="titres">We are working on...</span></p>
<p align="center"><span class="titres">The aim...</span></p>
<p align="center"></p>
<p align="center"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>
</tr>
</table>
<div align="center">
<p>
<!-- Ta deuxieme anime -->
<SCRIPT LANGUAGE="JavaScript">
     if(isFlash){
         document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0' height='80' width='600'><param name='movie' value='leb_menu.swf'><param name='quality' value='best'><param name='play' value='true'><embed height='80' pluginspage='http://www.macromedia.com/go/getflashplayer' src='leb_menu.swf' type='application/x-shockwave-flash' width='600' quality='best' play='true'></object>");
     }else{
//La je n'ai pas mis ta deuxieme image de remplacement donc a toi de le faire
         document.write("<img src='replace.gif'>");
    }
</script>

</p>
<div align="center">

</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</body>

</html>
------------------------

Commentaire de hellnn le 18/07/2005 13:10:14

Bonjour Jojokerker et 1000 fois merci pour cette réponse exhaustive.

Merci de m'avoir fait ressortir mes erreurs, ça permet au moins de comprendre côté code, mais le souci c'est que ma photo ne s'affiche toujours pas... elle est pourtant bien située dans le même répertoire que ma page donc je dois encore avoir fais une bêtise qlq part.
Est-ce qu'il est correct de changer simplement le nom de l'anime dans le code pour tester l'image de remplacement ou est ce qu'il faut totalement désactiver flash (d'ailleurs je sais même pas comment faire)? peut etre qu'il reconnait le player mais pas l'adresse (normal) donc il affiche un emplacement vide ...?!
dsl mais je suis vraiment nouvelle en tout... c'est la grande découverte... :)
A+

Commentaire de jojokerker le 18/07/2005 13:47:23

Salut
effectivement si tu veux tester et voir ton image de remplacement a la place de l'anime flash il faut completement desintaller le player flash.
Car ce script recherche la presence du plugin et non la presence de ton anime.
Je te conseil d'installer un autre navigateur par exemple firefox qui et trés léger, gratuit et pas compliqué a installer(il faut cliker sur suivant .....) ne le met pas en navigateur principale si tu ne veux pas l'utiliser pour autre chose.
Ensuite tu n'as plus cas essayer ta page dans ce navigateur et tu veras ton image (car par defaut il n'y a pas le plugin flash sur firefox).
Et en plus tu pourras voir ce que donne l'affichage de ton site dans un autre navigateur.
Sinon désinstalle flash.

Courage a+

Commentaire de hellnn le 18/07/2005 20:38:10

merci de ta gentillesse ;)

comme j'ai déjà FF en naviguateur principal et suis sur mac , j'ai trouvé une désinstall os x qui enlève flash pour tous le mond, donc g pu tester et tout fonctionne parfaitement.

je te remercie de m'avoir enlevé cette belle épine du pied, je vais pouvoir passer à autre chose :o

A+

Commentaire de hellnn le 18/07/2005 20:39:35

oups ..; dsl petit beug

Commentaire de zarah le 28/07/2005 17:03:17

Coucou,
Ton script est génial et correspond tout-à-fait à ce qu'il me faut.
Petit pb cependant : incompatiblité avec IE sur MAC (alors que parfait sur Safari et Firefox)
Avec IE le navigateur bloque sur la ligne :
var pluginsArrayLength = navigator.plugins.length;

... et renvoie à un message d'erreur :
"erreur de compilation Microsoft JScript, caractère non valide"
Du coup, les fonctionnalités de ma page html (menus contextuels Dreamweaver par ex) ne fonctionnent plus sous IE Mac quand j'installe ton script.
Si tu avais une parade à ce problème ce serait extra, merci d'avance pour l'aide que tu pourras m'apporter ;-)
zarah-z

Commentaire de jojokerker le 29/07/2005 21:23:00

Salut,

Désolé je n'ai pas de mac donc je n'ai pas pu le tester sur cette machine.
Je vais essaye de régler ce pb mais je te promet rien.
Tu peux me contacter en pv si tu le souhaite je t'enverai mon msn.
Dans tous les cas si je trouve une solution je te l'envoie pour que tu la test puis
si c'est ok je mettrai à jour mon script.

A+


Commentaire de elfigone81 le 12/05/2006 16:54:32

Salut,
J'aimerai utiliser ton script pour la détection du plugin Flash pour un site. Mais je ne sais pas si ton script détecte simplement la présence du plugin Flash ou bien de la dernière version de Flash.
Je voulais savoir donc si ton code peut me servir à détecter la présence de Flash Player 8, et d'agir en conséquence avec l'affichage du swf ou de l'image.
Merci d'avance pour ta réponse.

Commentaire de jojokerker le 17/05/2006 16:21:10

Salut,
Ce script te permet de detecter la presence du plugin flash sur la machine cliente et pas une version particuliére de ce plugin.

A+

Commentaire de espilacopa le 05/06/2006 15:28:40

Salutation
je suis encore un novice qui connais rien, et je n'arrive pas a personnaliser ton code, voici je que  j'ai fait.
html>
<head>
<title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
  var isFlash = false;
  // Pour tous navigateurs sauf IE
  if (navigator.plugins && navigator.plugins.length > 0) {
     var pluginsArrayLength = navigator.plugins.length;
     // Pour chaque plugin du navigateur...
     for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
           if(navigator.plugins[pluginsArrayCounter].name.indexOf("Shockwave Flash") >= 0){ // Si 1 des plugins contient Shockwave Flash
          isFlash = true; // Alors flash player OK
          break;
         }
     }
     }    
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
// Detection pour Internet Explorer
On error resume next
isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
</SCRIPT>
</head>
<body>
<!-- A placer ou vous avez votre anime flash -->
     <SCRIPT LANGUAGE="JavaScript">
     if(isFlash){
         document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='550' height='170'><param name='movie' value='intro+loading.swf'><param name='quality' value='high'><embed src='intro+loading.swf' quality='high' type='application/x-shockwave-flash' width='550' height='170'></object>"
}else{
         document.write("<img src='fond.jpg'>"); // Placez votre image de remplacement
     }
     </SCRIPT>
<!-- ------------------------------------ -->
</body>
</html>

Commentaire de cedriclomb le 10/01/2007 17:58:23

Bonjour,
Ce code m'a l'ai sympa je lai pas encore testé, mais si je veux avoir aussi un test sur la version je fait comment ??

Commentaire de danbclothes le 18/12/2008 11:18:31

Bonjour, j'arrive sans doute un peu tard...

mais il y a plus simple:

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="900" height="150" id="home2.swf" align="middle">
    <param name="allowScriptAccess" value="sameDomain">
    <param name="movie" value="home2.swf">
    <param name="quality" value="high">
    <param name="bgcolor" value="#e5e5e5">
    <img src="http://www.dan-b.eu/images/logo_site/danb_mode.jpg" alt="Dan B custom clothes">
    </object>

ou <img src="http://www.dan-b.eu/images/logo_site/danb_mode.jpg" alt="Dan B custom clothes">
est l'image de remplacement si le navigateur du client n'affiche pas l'animation flash.

Bonne journée à tous

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales