Ist es möglich, eine AS3 swf in einem DIV lagert über ein eingebettetes AS2 swf einzubetten?

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

  •  21-08-2019
  •  | 
  •  

Frage

Ich denke, die Frage ist ziemlich selbsterklärend. Wer das schon mal gemacht?

UPDATE : Klarstellung, warum ich brauche, dies zu tun. Wir haben ein einziges swf Ungetüm einer AS1 - AS2-Website mit einer großen Video-Galerie-Seite. Der Kunde möchte den Videobereich als der AS2-Code aktualisieren, können nicht ihre jüngeren behandeln, viel größer, Videodateien. Der Kunde wird nicht für die gesamte Website bezahlt aktualisiert werden. Also, ich würde in der Lage sein wollen ein AS3-basierte Video-Browser und Spieler auf dem bestehenden Standort zu überlagern, wenn dieser Abschnitt navigiert wird, wodurch der Rest der Website verlassen ordnungsgemäß funktioniert damit AS2 Code ist vorhanden.

Hoffnung, dass die Dinge ein wenig mehr klar!

erklärt
War es hilfreich?

Lösung

ich würde nicht denken, dass, ob es AS3 oder AS2 ist etwas damit zu tun hat.

Aus der Sicht des Web-Browsers, sind sie beide eine Blackbox, die „Flash Player Plugin“ sagt. Sie können nur eine Version der auf einmal installiert Plugin haben, so dass, obwohl Sie eine AS2 und AS3 eine swf haben, der Web-Browser sieht nur, dass es zwei Instanzen von „Flash-Player Version Plugin 10“ hat

Um es kochen Sie, was Sie scheinen zu tun, um zu versuchen, ist:

  1. Erstellen Sie eine Seite:
  2. Stick eine swf in it
  3. Fügen Sie auf der Seite ein div und CSS-Positionierung verwenden, um es zu ausdrückte „über“ die andere swf
  4. Halten Sie ein anderes swf in diesem div.

So funktionierts? -. Nein Ja, sehr gut, aber man muss wmode="transparent" auf Embedded-Flash-Objekte (dank grapefrukt in den Kommentaren) gesetzt

Ich lief einen Test: hier ist mein Quellcode:

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

Ergebnisse:

Ohne wmode=transparent ist inkonsistent und minorly in Firefox und IE gebrochen. Damit tut genau das, was Sie denken, es sollte in IE und Firefox.
Die SWF-Dateien verhalten (aus einem Layout Sicht), als ob sie nur Bilder sind. Es ist cool.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top