SWF Object Version 1

ACHTUNG Die folgenden Informationen sind veraltet, da es mittlerweile neuere Versionen von SWF Object gibt.
Nutzt bitte die Infos unter folgendem Link. Dort findet ihr alle Dateien und auch deutsche Infos. (Ich werde die Tipps hier demnächst aktualisieren).

http://code.google.com/p/swfobject/

Diese Swfobject Methode bietet einige Vorteile, beispielsweise die Möglichkeit alternativen Html Content einzubinden. Neben der ausführlichen Dokumentation, die eigentlich keiner weiteren Erklärungen bedürfen, habe ich dennoch hier einige der mir wichtig erscheinenden Möglichkeiten aufgeführt.

Es wird eine Javascriptdatei benötigt. Speichert euch diese Datei swfobject.js im gleichen Ordner ab, oder ändert den Pfad in folgender Codezeile.
<script type="text/javascript" src="swfobject.js"></script>

Beispiel Info
embed1.htm Die Flashdatei embed1.swf wird mit einer Breite von 350 Pixel und einer Höhe von 150 Pixeln eingebettet. Die Javascript Datei swfobject.js befindet sich im gleichen Ordner. Der Code wird an der Stelle eingefügt, wo der Flashfilm erscheinen soll. Die Referenz auf die swfobject.js Javascriptdatei kann auch irgendwo im Headbereich stehen.

<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>

<script type="text/javascript">
var so = new SWFObject("embed1.swf", "mymovie", "350", "150", "6", "#ffffff");
so.write("flashcontent");
</script>

embed2.htm Hier wird der Film mit einer Breite und Höhe von 100 % eingefügt. Das ist nur möglich, mit einer Stylesheet Anweisung. Sie steht hier im ersten Block und sollte irgendwo zwischen den <head></head> Tags eingefügt werden. Der zweite Teil kommt unten in den body-Bereich. Hier ist ein Parameter "scale" hinzugekommen. Mögliche Werte sind:
showall, noborder, noscale, exactfit siehe hier

<style type="text/css">

/* hide from ie on mac \*/
html {
height: 100%;
overflow: hidden;
}

#flashcontent {
height: 100%;
}
/* end hide */

body {
height: 100%;
margin: 0;
padding: 0;
background-color: #ffffff;
}

</style>

<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("stage.swf", "mymovie", "100%", "100%", "6", "#ffffff");
so.addParam("scale", "showall");
so.write("flashcontent");
</script>
embed3.htm Hier werden 2 Variablen an den Flashfilm übergeben.
so.addVariable("meineVar", "250");
so.addVariable("nochneVar", "23");
Die Variablen stehen der Flashdatei nach dem Laden zur Verfügung. Sie werden in diesem Beispiel in den dynamischen Textfeldern angezeigt.
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("embed3.swf", "mymovie", "550", "150", "6", "#ffffff");
so.addVariable("meineVar", "250");
so.addVariable("nochneVar", "23");
so.write("flashcontent");
</script>
embed4.htm Hier werden 2 Variablen an den Link angehängt. Der Quellcode des Links steht im ersten Block. Diese Variablen können ausgelesen und übergeben werden.
so.addVariable("meineVar", getQueryParamValue("var1"));
<a href="FlsExpl/embed4.htm?var1=43&var2=245">embed4.htm</a>
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("embed3.swf", "mymovie", "550", "150", "6", "#ffffff");
so.addVariable("meineVar", getQueryParamValue("var1"));
so.addVariable("nochneVar", getQueryParamValue("var2"));
so.write("flashcontent");
</script>
embed5.htm Hier werden 2 Flashdateien eingebunden. Für jede Flashdatei gibt es einen div Container mit eigener id: flashcontent, flashcontent2
Jede Flashdatei bekommt eine eigene id: embed1, embed2 und natürlich die Anweisung für den richtigen Container so.write("flashcontent");

<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>

<script type="text/javascript">
var so = new SWFObject("embed1.swf", "embed1", "350", "150", "6", "#ffffff");
so.write("flashcontent");
</script>

<div id="flashcontent2">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>

<script type="text/javascript">
var so = new SWFObject("embed2.swf", "embed2", "350", "150", "6", "#ffffff");
so.write("flashcontent2");
</script>

embed6.htm In diesem Beispiel werden 2 Flashdateien eingebunden, die miteinander kommunizieren. Die Filme werden genauso eingebunden, wie im vorigen Beispiel. Näheres zum Thema Kommunikation zwischen 2 Flashfilmen findet man in meinem Tipp "localConnection"
 
embed7.php In diesem Beispiel werden 2 Variablen mit php übergeben. Achte darauf, dass auch der zweite Parameter als String aufgeführt werden muss. Daraus ergeben sich verschiedene mögliche Schreibweisen. Die erste ist die einfachste.
"<?php echo $var; ?>" oder
<?php echo "'$var'"; ?> oder
<?php echo "'".$var."'"; ?>

<?php
$var1=4+4;
$var2="xyz";
?>

<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("embed3.swf", "mymovie", "550", "150", "6", "#ffffff");
so.addVariable("meineVar", "<?php echo $var1; ?>");
so.addVariable("nochneVar", "<?php echo $var2; ?>");
so.write("flashcontent");
</script>

ACHTUNG !!
Folgende Besonderheiten sind mir noch aufgefallen.
Hat man die Option für transparenten Hintergund gewählt, funktionieren in Eingabefeldern einige Sonderzeichen wie das @ Zeichen nicht.

Wählt man 100% Größe und will den Film an der Oberkante aurichten wählt man salign top
so.addParam("salign", "t");