E 'possibile incorporare uno swf AS3 in un DIV a strati sopra uno swf AS2 incorporato?

StackOverflow https://stackoverflow.com/questions/357281

  •  21-08-2019
  •  | 
  •  

Domanda

Credo che la questione è piuttosto auto esplicativo. Chiunque fatto prima?

Aggiorna : Chiarimento sul motivo per cui ho bisogno di fare questo. Abbiamo un unico colosso swf di un AS1 - AS2 sito con una grande sezione video gallery. Il cliente vuole aggiornare la sezione video come il codice AS2 non è in grado di gestire le loro recenti, file video, più molto più grandi. Il cliente non pagherà per l'intero sito da aggiornare. Quindi, vorrei essere in grado di sovrapporre un browser il video AS3 based e giocatore sul sito esistente quando quella sezione è navigato a, lasciando così il resto del sito funziona correttamente con il suo codice AS2 esistente.

La speranza che spiega le cose un po 'più chiaramente!

È stato utile?

Soluzione

Non vorrei pensare che si tratti di AS3 o AS2 ha nulla a che fare con esso.

Dal punto di vista del browser web, sono entrambi una scatola nera che dice: "Flash Player Plugin". Si può avere una sola versione del plugin installato in una sola volta, quindi, anche se si dispone di un AS2 e AS3 un file SWF, il browser web vede solo che ha 2 istanze di "Flash Player Plugin versione 10"

Per far bollire in giù quello che ti sembra di essere cercando di fare è:

  1. Crea una pagina:
  2. Bastone un file SWF in esso
  3. Aggiungi un div alla pagina e utilizzare il posizionamento CSS per mettere "sopra" l'altro swf
  4. Stick un'altra swf in quel div.

Quindi, fa questo lavoro? -. No Sì, molto bene, ma è necessario impostare wmode="transparent" sui vostri oggetti flash incorporato (grazie grapefrukt nei commenti)

Ho eseguito un test: ecco il mio codice sorgente:

<!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>

Risultati:

Senza wmode=transparent, è incoerente e minorly rotto in firefox e IE. Con esso, fa esattamente quello che pensa che dovrebbe sia in IE e Firefox.
I file SWF si comportano (da un punto di vista di layout) come se fossero solo immagini. E 'fresco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top