Comment afficher un menu en HTML par-dessus un clip Flash

Un problème qui arrive souvent lorsque nous utilisons un player Flash dans une page web est qu’aucun autre élément HTML ne peut s’afficher par-dessus. Cela peut être un problème lorsque nous désirons avoir un menu qui apparaît et qui coïncide avec le player Flash. Voici la solution…


Par défaut, le paramètre wmode du player est à « window« . Cela signifie que le plugin va créer son propre endroit d’affichage. Il ne fait donc pas parti des éléments du navigateur, mais est affiché au dessus de ce dernier. C’est pourquoi il n’est pas possible d’avoir des éléments HTML qui vont par-dessus.

La solution est de le changer pour « opaque » ou « transparent« . Ces deux modes vont permettre d’afficher des trucs par-dessus le player. La différence est pour ce qui est en dessous du player si le player a des parties transparentes.

Maintenant, la question à 10$, « pourquoi par défaut ce n’est pas mis à opaque? ». C’est pour les performances: il est plus rapide qu’il soit séparé du navigateur et c’est plus rapide s’il ne gère pas la transparence. Dans la plupart des cas, il n’y a rien qui s’affiche par-dessus, donc tout va bien (ex: Youtube).

Dernière étape, où entrer ce paramètre?

  • Si vous avez un tag <object>, vous mettez dans celui-ci <param name= »wmode » value= »opaque »>
  • Si vous utilisez SWFObject, vous faites so.addParam(« wmode », « opaque »);

Plus d’information et une démo (en anglais) sur ce site