Remplacement d'un swf par une image pour les tablettes [RESOLU] - HTML/CSS - Programmation
Marsh Posté le 16-10-2011 à 16:12:50
Bon je viens de résoudre mon problème en prenant un code "tout fait" qui marche.
Pour ceux qui cherchent le voici : attention étonnamment les liens des "src" ne fonctionnent qu'avec des liens complets pour ma part (avec http://.....)
<SCRIPT LANGUAGE=JavaScript1.1>
<!--
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"');
document.write(' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ');
document.write(' ID="script" WIDTH="400" HEIGHT="250" ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="flash.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> ');
document.write(' <EMBED src="http://www.xxx.com/images/flash.swf" quality=high bgcolor=#FFFFFF ');
document.write(' swLiveConnect=FALSE WIDTH="400" HEIGHT="250" NAME="script" ALIGN=""');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
document.write(' </EMBED>');
document.write(' </OBJECT>');
} else{
document.write('<IMG SRC="http://www.xxx.com/images/no_flash.jpg" WIDTH="400" HEIGHT="250" usemap="#script" BORDER=0>');
}
//-->
</SCRIPT><NOSCRIPT><IMG SRC="http://www.xxx.com/images/no_flash.jpg" WIDTH="400" HEIGHT="250" usemap="#script" BORDER=0></NOSCRIPT>
Peut-être peut-on éviter d'utiliser du js...
Marsh Posté le 18-10-2011 à 15:49:30
il suffisait juste d'imbriquer les balises object et de mettre dans la toute derniere balise object imbriqué, le embed. Et ton pb est réglé
<objet pourIE>
<object pourFF/CHROME...>
<embed></embed>
</object>
</object>
Marsh Posté le 16-02-2012 à 08:09:31
Il y a une façon rapide pour exclure le swf.
1/ rajouter une valeur pour rendre le swf transparent // <param name="wmode" value="transparent" />
2/ incorporer dans la css, une image à cette endroit de la taille de ton anim // #content .main {background:url(images/imageSiNonFlash.gif) no-repeat left top;width:Taille px; height:Taille px;}
Voilou 10 secondes, si pas de lecteur flash, le fond apparaît.
Marsh Posté le 28-02-2013 à 16:42:21
Salut,
Je me permets de remonter ce topic pour savoir si à ,la place d'une image, il est possible d'afficher un menu en CSS lorsque la lecture est sur tablette ?
Genre un menu Flash sur ordinateur, et un menu CSS sur tablette.
Merci à vous
Marsh Posté le 28-02-2013 à 17:31:51
Du moment que tu fais un menu en html/css, pourquoi ne pas le proposer à tout le monde ?
La tendance actuelle, c'est quand même d'essayer de virer Flash partout où c'est pas absolument indispensable.
Marsh Posté le 16-10-2011 à 15:07:45
Bonjour, je me décide à poster ici, car je ne trouve pas d'où vient mon erreur.
Je souhaite remplacer l'affichage d'un .swf (flash) par une image .jpg quand un navigateur ne peut pas supporter cette technologie (ipad, iphone etc.).
Voici donc ce que j'ai écrit : (les xxx sont pour assurer la confidentialité )
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="250">
<param name="movie" value="http://www.xxx.com/images/flash01.swf">
<param name="wmode" value="transparent" />
<param name="quality" value="high">
<embed src="http://www.xxxx.com/images/flash01.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="250" wmode="transparent"></embed></object>
--- jusque là c'est pour l'affichage du flash --- J'insère ensuite ce code pour le "au cas où" flash n'est pas dispo
<object type="application/x-shockwave-flash" data="flash01.swf" width="400" height="250">
<param name="movie" value="flash01.swf" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<img src="http://www.xxxx.com/images/no_flash01.jpg" width="400" height="250" alt="" />
</object>
Aucun problème pour l'affichage sur les ipad et iphone, mais sur un navigateur "lambda" ça me crée un doublon. J'ai l'animation et l'image l'un au dessus de l'autre. La modif à effectuer doit être devant mes yeux mais je ne vois pas où. Si quelqu'un peut me faire office de lunettes ça serait sympa !
Merci pour votre aide
Message édité par fredoxxx le 16-10-2011 à 16:17:41