2008-12-10 7 views
3

Je pense que la question est assez explicite. Quelqu'un l'a fait avant?Est-il possible d'intégrer un swf AS3 dans un DIV superposé au-dessus d'un swf AS2 intégré?

MISE À JOUR: Clarification sur les raisons pour lesquelles je dois faire cela. Nous avons un seul mastodonte swf d'un site AS1 - AS2 avec une grande section de galerie vidéo. Le client souhaite mettre à jour la section vidéo car le code AS2 ne peut pas gérer ses fichiers vidéo plus récents et plus volumineux. Le client ne paiera pas pour l'ensemble du site à mettre à jour. Donc, je voudrais pouvoir superposer un navigateur vidéo et un lecteur AS3 sur le site existant lorsque cette section est naviguée, laissant ainsi le reste du site fonctionner correctement avec son code AS2 existant. L'espoir qui explique les choses un peu plus clairement!

Répondre

4

Je ne pense pas que ce soit AS3 ou AS2 a quelque chose à voir avec cela. Du point de vue du navigateur Web, ils sont à la fois une boîte noire qui dit "Flash Player Plugin". Vous ne pouvez avoir qu'une version du plugin installée en même temps, même si vous avez un swf AS2 et AS3, le navigateur web voit juste qu'il a 2 instances de "Flash player plugin version 10"

il ce que vous semblez essayer de faire est:

  1. Créer une page:
  2. Collez un swf dans ce
  3. Ajouter un div à la page et utiliser le positionnement CSS pour le mettre « sur » la autre swf
  4. Collez un autre swf dans ce div.

Alors, cela fonctionne-t-il? - Non Oui, très bien, mais vous devez définir wmode="transparent" sur vos objets flash intégrés (merci grapefrukt dans les commentaires).

j'ai couru un test: voici mon code source:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <style type="text/css" media="screen"> 
      DIV{ width: 300px; height; 300px;} 
      #background{ border: 1px solid green; background-color: green; z-index: 0; } 
      #foreground{ border: 1px solid red; background-color: red; z-index: 50; } 
     </style> 
    </head> 
    <body> 
     <div id="background"> 
      <embed height="208" width="208" quality="high" bgcolor="#fff" src="bgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/> 
     </div> 

     <div id="foreground" style="position: absolute; left: 30px; top: 30px;"> 
      <embed height="208" width="208" quality="high" bgcolor="#fff" src="fgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/> 
     </div> 

    </body> 
</html> 

Résultats:

Sans wmode=transparent, est incohérent et minorly cassé dans Firefox et IE. Avec lui, fait exactement ce que vous pensez qu'il devrait à la fois dans IE et Firefox.
Les fichiers SWF se comportent (du point de vue de la mise en page) comme s'il s'agissait uniquement d'images. C'est cool.

+0

Définissez le mode de fonctionnement du flash du bas en transparent et cela devrait fonctionner, dans le pire des cas, vous devrez peut-être régler les deux sur transparent. – grapefrukt

+0

Merci toujours beaucoup Orion Edwards, et le toujours utile grapefrukt! – defmeta

+0

lecture vidéo en wmode = transparent est un cauchemar btw! – discorax

Questions connexes