2010-04-14 41 views
0

J'ai un lecteur flash sur une page qui lit des vidéos. J'ai aussi des popups modaux (faits d'éléments div) qui doivent pouvoir être affichés sur le dessus du flash player quand ils sont ouverts, etc ... Je ne peux pas changer l'une ou l'autre de ces exigences puisqu'elles font partie du spec que j'ai reçu. Le flash semble ignorer les z-index que je lui ai assignés avec css, et les popups modaux n'apparaîtront donc au-dessus du lecteur vidéo que si je mets le wmode du lecteur vidéo à opaque ou transparent. Cependant, si je fais alors la fonctionnalité plein écran cesse de fonctionner correctement: quand je un pas en plein écran la vidéo qu'il reste zooméLecteur de film flash cassé! allowFullScreen ne fonctionne pas avec autre chose qu'une valeur wmode de "window" (la valeur par défaut)

En bref

  • Si vous ouvrez une fenêtre contextuelle sur. une page d'article ou une autre page contenant le fichier devrait apparaître au-dessus.

  • Flash ignore les valeurs d'index z.

  • Vous pouvez arrêter flash ignorer z-index valeurs en mettant wmode à opaque ou transparent plutôt que la par défaut: fenêtre.

  • Cela empêche le plein écran de fonctionner correctement .

Est-ce que quelqu'un d'autre a déjà fait face à ce problème? Que puis-je faire pour le réparer? Je pensais recréer le lecteur vidéo avec wmode = opaque à chaque fois que j'ouvrais un popup modal et que je le ramenais à wmode = window quand le popup modal est fermé, car cela signifierait que le popup devrait s'afficher dessus (comme wmode = opaque) et le plein écran devrait fonctionner correctement (comme wmode = fenêtre). Cependant, ce n'est pas du tout l'idéal: en plus d'être un hack, cela signifierait aussi que la vidéo s'arrêterait de jouer si quelqu'un cliquait sur un bouton qui ouvrait un popup.

À la votre!

Répondre

0

Votre meilleur coup serait probablement d'écouter flash.events.FullScreenEvent.FULL_SCREEN et lorsque cela se produit forcer une réinitialisation de la largeur et la hauteur de l'objet vidéo. Cela signifie que vous pouvez continuer à utiliser wmode opaque.

+0

Je ne suis pas un développeur flash moi-même. Une idée sur la façon dont vous pourriez forcer une réinitialisation de la largeur et la hauteur de l'objet vidéo à la taille du conteneur dans lequel il se trouve? D'après ce que j'ai lu dans l'API de l'objet vidéo, ces valeurs sont en lecture seule. Avez-vous des liens ou des articles sur lesquels vous pourriez m'indiquer? Merci! – olive

+0

Tout cela ressemble à un bug dans le flash lui-même, ou plus probablement le joueur que vous utilisez. 'videoHeight 'et'videoWidth' sont en lecture seule, mais'width 'et'height' (hérité de DisplayObject) peuvent être modifiés. Changer ceux-ci pourrait forcer une réinitialisation. Si non, si vous ne pouvez pas changer le code source, la seule chose que je pense que vous pouvez faire est de trouver un autre joueur. – bitc

+0

http://bugs.adobe.com/jira/browse/FP-892 On dirait que je ne suis pas la seule personne à avoir ce problème. – olive