Le menu CSS n'apparaît pas sur Flash
-
22-08-2019 - |
Question
J'ai un menu CSS déroulant/à plusieurs niveaux sur une page.Le menu n'apparaît cependant pas sur un graphique flash que j'ai. La solution apparente semble être de mettre wmode:transparent (ou opaque), mais cela ne fonctionne pas pour moi. J'ai également essayé de définir le niveau z dans le CSS sur des valeurs très élevées (2000), mais cela ne fonctionne pas non plus.
De plus, j'utilise open-flash-chart-v2 pour générer le graphique.(même si je ne pense pas que cela soit important, mais cela limite ma capacité à transmettre des variables car je n'utilise pas directement la balise embed ou object).
<script type="text/javascript">
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", {"wmode" : "transparent"});
</script>
Page affichant un problème (Cela n'affiche pas actuellement la tentative de correction de z-index.)
La solution
La balise wmode n'a pas été définie correctement.
Voici le bon code :
<object width="100%" height="100%" style="visibility: visible;" id="chart" data="/ofc-library/open-flash-chart.swf" type="application/x-shockwave-flash"><param value="transparent" name="wmode"/></object>
Voici votre code :
<object width="100%" height="100%" type="application/x-shockwave-flash" data="/ofc-library/open-flash-chart.swf" id="chart" style="visibility: visible;"><param name="flashvars" value="wmode=transparent"/></object>
Spécifiquement:
<param name="flashvars" value="wmode=transparent"/>
devrait être:
<param value="transparent" name="wmode"/>
Voici comment le faire correctement (notez le hachage vide avant les paramètres.wmode est un paramètre et non une flashvar) :
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", {}, {"wmode" : "transparent"})
Autres conseils
Puisque vous utilisez swfObject, essayez ceci :
var so = new SWFObject("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf");
so.addParam("wmode", "transparent");
so.write("flashcontent");