2010-05-01 4 views
0

comment puis-je afficher ma vidéo flash, derrière les balises en haut de la page?HTML + FLEX: affichage flash derrière HTML

Site Web: http://www.sanstitre.ch/drupal/portfolio?tid[0]=58

grâce

J'utilise wrapper SWFObject (cross-browser) http://code.google.com/p/swfobject/

<div style="background-color: rgb(255, 255, 255); width: 100%;"> 
<object height="445" width="660" type="application/x-shockwave-flash" data="/drupal/videoPlayer/bin-debug/videoPlayer.swf?file=http://www.sanstitre.ch/drupal/sites/default/files/files/projects/WM 1976/videos/P1030297.flv" id="movie_player_1" style="visibility: visible;" wmode="transparent"> 
<param name="bgColor" value="#ffffff"> 
<param name="allowfullscreen" value="true"> 
<param name="autoplay" value="true"> 
<param name="flashvars" value="0=movie_player_1"> 
<param value="transparent" name="WMODE"> 
</object> 
+0

Je dois également activer la fonctionnalité javascript mouseOver. J'ai essayé de l'appliquer au parent, mais cela ne fonctionne pas. – aneuryzm

Répondre

0

Je l'ai résolu ajouter

display: block 

propriété à l'objet. (Et bien sûr, faire tout ce que vous avez suggéré).

2

Salut, vous pouvez ajouter dans votre code html

<PARAM NAME=wmode VALUE=transparent> 

et trouver le Embed et ajoutez cette

wmode="transparent" 

essayer.

+0

Merci pour la réponse. Il n'y a pas d'intégration. J'ai copié le code dans la question. – aneuryzm

+0

Juste s'il vous plaît n'utilisez pas de majuscules dans les balises HTML. –

+0

@FractalizeR merci –

0

Pour que le film Flash s'affiche sous quelque chose, vous devez en fait définir wmode sur transparent ou opaque. Cela ne fera probablement pas une grande différence du point de vue de la performance puisque les deux font en fait que Flash se dessine dans le même handle de fenêtre que le navigateur au lieu d'avoir son propre handle de fenêtre.

De toute façon, il y a une deuxième étape pour l'afficher en dessous de quelque chose et c'est pour s'assurer que c'est z-order dans le html qui est plus bas que celui que vous voulez afficher en haut. Cela pourrait être résolu en écrivant votre code html de telle sorte que les balises à afficher sur le dessus sont postérieures à l'animation flash, mais je trouve que la façon la plus simple de le faire est d'utiliser le positionnement absolu et l'attribut de style z-order pour définir la commande. Évidemment ça dépend du reste du site et c'est du html.

Cela devrait le faire pour la partie de stratification. Le problème d'interactivité peut cependant être un réel problème dans le cas où vous avez des éléments html sur le film flash qui vole le focus de la souris (tels que des paragraphes ou des divs). Dans ce cas, vous pouvez ou non avoir à intercepter les événements en utilisant javascript et ensuite passer les informations de ces événements sur votre film flash en utilisant ExternalInterface. C'est moche et peut casser de façon inattendue (par exemple, le dom change par exemple), mais ce n'est pas très difficile à implémenter.

+0

J'ai changé tous les z-index dans Firebug pour voir les effets, et les conteneurs et l'élément d'objet du lecteur vidéo a z-index: 0, mais l'en-tête (et tous les enfants, et toutes les balises) ont z- index: 9999. Je suppose que le problème est ailleurs .. peut-être parce que l'élément embed est manquant? – aneuryzm

+0

J'ai jeté un oeil à la page que vous liez à et il semble fonctionner très bien dans Safari et Firefox sur Mac, je n'ai pas pu tester sur Windows. Dans tous les cas, le HTML est très compliqué, peut-être que l'imbrication profonde cause le problème de la superposition? –