Détecter la présence du plugin... sans plugin !

Et si le navigateur n’a pas le plugin Flash ?

Et bien on ne peut pas lancer Flash, et on ne peut encore moins s’en servir pour détetecter la version de Flash installé ! Bien sur, le plus simple est encore d’installer vite fait bien fait le plugin adéquat, mais si l’on ne le souhaite pas, comment faire ?

On trouve de nombreux sites où la question est posée, mais la plupart ne donnent que des astuces nécessitant, soit la redirection vers une autre page, soit justement d’avoir Flash installé pour détecter la présence du plugin.

L’astuce : utiliser un script coté client.

L’avantage d’un script exécuté coté client, est qu’il renvoie des données spécifiques au navigateur : par exemple nom, version, taille de l’écran, nombre de couleurs... et aussi les plugins installés ! Alors, vite, on se met en chasse sur le net de la commande qui permet, en JavaScript, de trouver si Flash est installé... Et on la trouve : il s’agit de vérifier dans un tableau [1] nommé navigator.plugins si une des valeurs de navigator.plugins.name s’appelle "Shockwave Flash".

Mais tout n’est pas si simple !

En effet, si ce tableau est bien initialisé avec Netscape ou les plus récents Mozilla et Mozilla FireFox, il n’en est pas du tout de même pour Notre cher Internet Explorer... Pour lui, et spécialement pour lui, il faut implémenter du VBScript en parallèle du JavaScript.

Vous trouverez ci-joint le script flashDetect.js, qui doit être appelé dans le tag "head" de votre page html. Ensuite, dans la partie "body" vous pouvez mettre le code suivant :

script language="JavaScript">
if(installe==1)
        document.write("Votre texte alternatif, ou une         image...  ou ce que vous voulez en remplacement de l        'anim Flash.");
else
        document.write("<object width='100'         height='100'><param name='movie'         value='votreAnim.swf'><param name='quality'         value='high'><param name='wmode'         value='transparent'><embed src='votreAnim.swf'         quality='high' type='application/x-shockwave-flash'         width='100' height='100' wmode         ='transparent'/></object>");
</script>

Et voila ! Maintenant il ne vous reste plus qu’à peauffiner le tout, voire à améliorer le code, mais le principal est fait : si le navigateur de votre visiteur n’est pas équipé du plugin, il peut quaznd même lirte votre page et il n’a pas cette image montrant une espèce de pièce de puzzle avec le message "get the plugin". Par contre, n’oubliez pas de lui suggerer d’aller quand même télécharger le plugin...

Bonne utilisation !