08.04.10 // 18:30 Uhr

Größe eines Flash-HTML-Containers zur Laufzeit ändern

flash_containerbreite

Hier ein kurzer Tipp, der sehr nützlich sein kann wenn man eine HTML/CSS Website baut die auch ein paar Flash-Elemente beeinhalten soll. Manchmal kommt es nämlich vor, dass sich die Größe des Flash´s verändern soll und die ist leider durch die Größe des HTML-Containers in dem das Flash eingebunden ist begrenzt. Mit ein wenig Java- und ActionScript kann man das Problem aber ganz leicht beheben.

trennlinie

Dieser Code muss in das HTML oder in eine von extern eingebundene JavaScript Datei:

1
2
3
4
5
6
7
<script type="text/javascript">
    function containerAnpassen(id, width, height) {
	    var container = document.getElementById(id);
	    container.style.width = width+'px';
	    container.style.height = height+'px';
    }
</script>

Diese 3 Zeilen JavaScript sorgen dafür, dass das HTML-Element mit der übergebenen ID die ebenfalls übergebene neuen Werte für Breite und Höhe bekommt. Bindet man sein SWF jetzt mit 100% Höhe und Breite ein (z.B. mit SWFObject 2.0) ist das Flash immer so groß wie der Container und wird somit mitskaliert

In Flash muss man dann diese JavaScript Funktion dann nur noch aufrufen, und das funktioniert folgendermaßen:

ActionScript 3:

1
    ExternalInterface.call("containerAnpassen", "container", 300, 200);

Mit der Funktion ExternalInterface.call werden zuerst der Funktionsname im Javascript und anschließend zu übergebende Parameter übergeben (in diesem Fall den Namen des Flashcontainers, sowie die neuen Angaben für Höhe und Breite).

Wer das ganze mal in Aktion sehen will: Demo
Und hier gibts ein Codebeispiel zum Download

 
 

Kommentare ( 3 )

  1. 14.06.10 // 10:08 Uhr

    Andinger

     

    Hmm

    Wenn Du aber doch aus AS die Funktion containerAnpassen() aufrufst, dann musst Du die doch auch in JavaScript so definieren, oder?

    Also wäre es dann in JavaScript nicht

    function resizeFlashContainer(id, width, height)

    sondern

    function containerAnpassen(id, width, height) {

    Gruß, GenauerMensch :)

     
     
  2. 15.06.10 // 09:03 Uhr

    Thomas Aull

     

    Du hast vollkommen recht :-)
    Ich habs auch schon geändert, dankeschön!

     
     
  3. 08.07.10 // 11:27 Uhr

    bycan

     

    Dankeschön! ^^ Genau das habe ich gerade gebraucht und war am rumprobieren.

     
     

Einen Kommentar schreiben

Name*
 
eMail* (unsichtbar)
 
Website
 
 

  • Letzte Kommentare

    • GravatarZaunsystem Shop sagt:
      „Hat ICq mittlerweile nicht auch diese twitter funktion, hat mir neulich ein kumpel erzählt.”
       
    • GravatarNico sagt:
      „Oh, der letzt kommentar ist aber schon lange her… braucht man überhaupt noch Einladungen?”
       
    • GravatarNico sagt:
      „Ich hätte gerne eine.”
       
    • GravatarKatharina sagt:
      „Also ich muss schon sagen, echt klasse umgesetzt. Ich selbst hab mit Flash so meine Probleme, aber du scheinst echt gut damit klar zu kommen. Mir gefallen...”
       
    • Gravatarbycan sagt:
      „Dankeschön! ^^ Genau das habe ich gerade gebraucht und war am rumprobieren.”
       
 

Weitere Artikel

 

Kategorien

 

Links