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