Firefox在事件调用时使用相同的随机数

时间:2013-11-18 02:18:11

标签: javascript firefox random

我有一个与事件randomPlay相关联的函数onended,但随机数在Firefox上始终相同。在Chrome上,没关系。任何人都可以解释为什么以及如何解决?

 function randomPlay(){
    $("audio").html('<source src="'+srcArray[Math.floor(Math.random() * srcArray.length)]+'" type="audio/mpeg">');
    document.getElementById('audio').play();
    }

元素就是这个音频:

<audio id="audio" autoplay onended="randomPlay();" ><source src="music.mp3" type="audio/mpeg"></audio>

更新

我将元素更改为:

<audio id="audio" autoplay onended="randonPlay();" src=""></audio>

并将功能更改为:

function randonPlay(){
    $("audio").attr("src",srcArray[Math.floor(Math.random() * srcArray.length)]);
    document.getElementById('audio').play();
}

所以一切都很好:)谢谢你的帮助。 无论如何,我还发现了一个lib来生成随机数Chance.js

1 个答案:

答案 0 :(得分:0)

这是因为当页面加载时,生成器被播种。有关信息,请参阅此帖:

此处:Math.random() - Not random