Bonjour,
Mon but comme l'explique assez bien le titre est de, dans un premier temps, faire un test pour savoir si le navigateur de l'internaute intègre le plugin flash correspondant à mon animation et de, dans un deuxième temps, remplacer l'animation par une photo au cas ou ce plugin ne soit pas présent (Le code pour faire le test à été récupéré sur CodeSource et marche parfaitement)
Je vais donc vous montrer ce code:
---------------------------------------------------------------------------------------------------------------------
(Partie javascript placé dans le <head>)
<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;
}
}
}
if(isFlash==true){
document.getElementById("flash").style.display="block";
document.getElementById("centre").style.display="none";
}else{
document.getElementById("flash").style.display="none";
document.getElementById("centre").style.display="block";
}
</SCRIPT>
(partie Html dans )
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="750" height="490" title="Animation photo"></object>
(partie CSS dans une feuilles de style externe)
#flash { position:absolute; top:101px; left:235px; height:490px; width:750px; border:0px none #000000; z-index:1; display:none;}
#centre { position:absolute; top:101px; left:235px; height:490px; width:750px; border:0px none #000000; z-index:1; background-image:url(../../Site%20Web/images/fond_corp.jpg); display:none;}
----------------------------------------------------------------------------------------------------------------------
Les propriété de position des deux div son attenantes à ma page
Grâce à firebug je suis arrivé à déterminer que le soucis venait de cette partie du code:
if(isFlash==true){
document.getElementById("flash").style.display="block";
document.getElementById("centre").style.display="none";
}else{
document.getElementById("flash").style.display="none";
document.getElementById("centre").style.display="block";
}
Voici l'erreur noté par firebug:
document.getElementById("flash") is null
document.getElementById("flash").style.display="block";
cependant je ne comprend pas trop j'ai utiliser les mêmes fonctions pour un menu déroulant il y a peut et cela fonctionnait à la perfection, en gros je ne comprend vraiment pas pourquoi le javascript n'arrive pas à prendre en paramètre l'id "flash" à sa fonction document.getElementById ...
Voilà si quelqu'un à une illumination ce serais vraiment sympa de la partager avec moi merci