Flash invoegen via JS

Status
Niet open voor verdere reacties.

Canzone

Nieuwe gebruiker
Lid geworden
16 mei 2009
Berichten
3
Ha lui,

Ik vroeg me af of het mogelijk was om een flash element in te voegen in een DIV d.m.v. javascript. Het zit zo; ik maak een DIV aan met deze code:
Code:
function createDiv()
{
	var divTag = document.createElement("div");
	divTag.style.position="absolute";
	divTag.id = "div1";
	divTag.style.width="100%";
	divTag.style.height="100%";
	divTag.style.left="0px";
	divTag.style.top="0px";
	divTag.style.backgroundColor="#999999";
	document.body.appendChild(divTag);
}

Daarna wil ik in diezelfde DIV (het liefst nog in dezelfde functie), flash plaatsen. Ik weet dat ik gewoon html in kan voegen met innerHTML();, maar daar kom ik niet ver mee.

Als ik gewoon static HTML zou gebruiken zou het er zo uit zien:
HTML:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
</head>
<body bgcolor="#33ffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="javascript">
	if (AC_FL_RunContent == 0) {
		alert("This page requires AC_RunActiveContent.js.");
	} else {
		AC_FL_RunContent(
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
			'width', '100%',
			'height', '100%',
			'src', 'test',
			'quality', 'high',
			'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
			'align', 'middle',
			'play', 'true',
			'loop', 'true',
			'scale', 'noscale',
			'wmode', 'transparent',
			'devicefont', 'false',
			'id', 'test',
			'bgcolor', '#ffffff',
			'name', 'test',
			'menu', 'true',
			'allowFullScreen', 'false',
			'allowScriptAccess','sameDomain',
			'movie', 'test',
			'salign', ''
			); //end AC code
	}
</script>
<noscript>
	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="100%" height="100%" id="test" align="middle">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="false" />
	<param name="movie" value="test.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />	<embed src="test.swf" quality="high" scale="noscale" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
	</object>
</noscript>
</body>
</html>

Maar ik zou dus graag willen dat dit gebeurt tijdens mijn JS functie.

Heeft iemand een idee?

Alvast bedankt voor de moeite!
 
Waarom niet het filmpje bij het laden van de pagina al erin zetten en pas als het nodig is zichtbaar maken?
 
Zo bijvoorbeeld:

PHP:
<div id="flashVid" style="display:none">
<script language="javascript">
    if (AC_FL_RunContent == 0) {
        alert("This page requires AC_RunActiveContent.js.");
    } else {
        AC_FL_RunContent(
            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
            'width', '100%',
            'height', '100%',
            'src', 'test',
            'quality', 'high',
            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
            'align', 'middle',
            'play', 'true',
            'loop', 'true',
            'scale', 'noscale',
            'wmode', 'transparent',
            'devicefont', 'false',
            'id', 'test',
            'bgcolor', '#ffffff',
            'name', 'test',
            'menu', 'true',
            'allowFullScreen', 'false',
            'allowScriptAccess','sameDomain',
            'movie', 'test',
            'salign', ''
            ); //end AC code
    }
</script>
<noscript>
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="100%" height="100%" id="test" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="allowFullScreen" value="false" />
    <param name="movie" value="test.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />    <embed src="test.swf" quality="high" scale="noscale" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>
</noscript>

</div>

<a href="#" onclick="document.getElementById('flashVid').style.display = 'block'">Laat zien</a> | <a href="#" onclick="document.getElementById('flashVid').style.display = 'none'">Verberg</a>
 
Sorry voor mijn late reactie Erik; bedankt nog.
Ik vroeg me alleen toch nog af of er een manier was om dat volledig via javascript te doen. Dus om het flashelement via javascript in die JS-gegenereerde div te zetten. Ik zou namelijk graag willen dat het niet statisch gecodeerd hoeft te worden in html maar dat ik het volledig vanuit JS op kan roepen.
Is er een manier?

Alvast bedankt!
 
Dat weet ik niet, ik ben niet zo thuis in het creeëren van elementen met javascript.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan