Zum Inhalt springen

JavaScript aus PHP heraus schreiben, um Flash zu laden

Erstellt am 19. Oktober 2006 · 1 Antwort · letzte Antwort am 19. Oktober 2006

Tags: PHP, JavaScript & AJAX, Frage

windmeier ·

Das Laden eines Flashfilms per JavaScript ist soweit eigentlich kein Problem, da ich das JavaScript in TypoScript in den Header lade und gut.

Jetzt habe ich aber einen Bereich auf der Seite, wo ich bisher per PHP-Skript unterschiedlich Flashs geladen habe.

marks.MOTIV1 = PHP_SCRIPT
marks.MOTIV1 {
  file = fileadmin/scripts/motiv.php
}

In dem Skript wird die content variable etwa so gefüllt:

$content = "<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="620" height="197" id="".$thema."" align="middle">
<param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="fileadmin/flash/".$thema.".swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="wmode" value="opaque" /><param name="bgcolor" value="#ffffff" /><embed src="fileadmin/flash/".$thema.".swf" loop="false" menu="false" quality="high" wmode="opaque" bgcolor="#ffffff" width="620" height="197" name="".$thema."" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>";

Ab sofort müssen die Flash jedoch per JavaScript geladen werden, damit das Flashobjekt im IE automtisch aktiviert wird.

Wie kann ich nun aus dem PHP Skript JavaScript bauen, das im Browser auch läuft. Es ollte dann so ausehen:

	<script type="text/javascript">
AC_FL_RunContent('codebase','http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0','width','770','height','20','id','ticker','align','middle','src','fileadmin/flash/ticker','menu','false','quality','high','bgcolor','#ffffff','name','ticker','allowscriptaccess','sameDomain','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','fileadmin/flash/XXXXXXXXXX');
</script>

wobei XXXXXXXXXX der Name der jeweiligen Flashdatei sein soll.

Hoffentlich habe ich mich verständlich ausgedrückt.

FordPrefect ·

Hi,

da wär es besser wenn du ein Plugin in From einer Extension schreibst, das kannst du ebenfalls im TS einbinden -> Stichwort: USER_INT.

In diesem Plugin kannst du so z.B. JS schreiben:

$jsfunc = '<script type="text/javascript">
							
							function CheckConflict(thisname, thispart, partarray) {
								for (i=0; i<partarray.length; i++)	{
									othername = partarray[i];
									if ((document.getElementById(othername).checked == true) && (thisname != othername)) {
										alert("Sie können diese Angebote nicht gleichzeitig auswählen");
										document.carcalc.elements[thisname].checked = false;
									}
								}
							}
							</script>';
				$GLOBALS['TSFE']->additionalHeaderData['666'] .= $jsfunc;

Grüsse