【问题标题】:Random Array Item and Set as Embed SRC随机数组项并设置为嵌入 SRC
【发布时间】:2014-01-07 10:51:54
【问题描述】:

我正在尝试创建一个播放随机歌曲的音乐播放器,方法是从数组中选择一个随机项目并通过连接将其和其他内容设置为embedsrc

<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>

但是,我的脚本不起作用。

JSFiddle of niftyplayer.js

【问题讨论】:

  • 手动将src放入embed是否有效?不使用javascript
  • 1.删除 first+mid+last 周围的单引号 2. 您正在尝试设置在 js 执行时未加载的 DOM 对象的属性

标签: javascript arrays getelementbyid var src


【解决方案1】:

在这种情况下,在 html 之后加载 js。 然后,修复您的“嵌入”和“参数”。

-- 代码如下。

<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>

【讨论】:

    【解决方案2】:

    将javascript代码放在html之后,并从下面的行中删除引号'first+mid+last'

    getElementById("embed").src= first+mid+last;
        getElementById("param").value= first+mid+last;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2014-03-28
      • 2021-02-08
      • 1970-01-01
      • 2016-01-14
      相关资源
      最近更新 更多