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.
Dieser Code muss in das HTML oder in eine von extern eingebundene JavaScript Datei:
<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:
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