Pregunta

I'm attempting to creating a music player that plays a random song by choose a random item from an array and setting it and other things, via concatenation, as the embed's src.

<script type="text/javascript">
    //Playlist
    var musicArray = ['b.mp3', 'b2.mp3', 'b3.mp3'];
    //src vars
    var first = 'niftyplayer.swf?file=';
    var last = '&as=1';
    // Shuffle
    var mid = musicArray[Math.floor(Math.random() * myArray.length)];
    //Set src
    getElementById("embed").src='first+mid+last';
    getElementById("param").value='first+mid+last';
</script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,  0" width="165" height="38" id="niftyPlayer1" align="">
    <param id="param" name=movie value="">
    <param name=quality value=high>
    <param name=bgcolor value=#FFFFFF>
    <embed id="embed" src="" quality=high bgcolor=#FFFFFF width="165" height="38" name="niftyPlayer1" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
    </embed>
</object>
<script type="text/javascript" language="javascript" src="niftyplayer.js"></script>

However, my script does not work.

JSFiddle of niftyplayer.js

¿Fue útil?

Solución

In this case, load js after html. Then, fix your 'embed' and 'param'.

-- code below.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,  0" width="165" height="38" id="niftyPlayer1" align="">
    <param id="param" name=movie value="">
    <param name=quality value=high>
    <param name=bgcolor value=#FFFFFF>
    <embed id="embed" src="" quality=high bgcolor=#FFFFFF width="165" height="38" name="niftyPlayer1" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
    </embed>
</object>
<script type="text/javascript" language="javascript" src="niftyplayer.js"></script>

    <script type="text/javascript">
    //Playlist
    var musicArray = ['b.mp3', 'b2.mp3', 'b3.mp3'];
    //src vars
    var first = 'niftyplayer.swf?file=';
    var last = '&as=1';
    // Shuffle
    var mid = musicArray[Math.floor(Math.random() * myArray.length)];
    //Set src
    getElementById("embed").src = first + mid + last;
    getElementById("param").value = first + mid + last;
</script>

Otros consejos

Put the javascript code after html, and remove quotes from below lines 'first+mid+last'

getElementById("embed").src= first+mid+last;
    getElementById("param").value= first+mid+last;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top