【发布时间】:2013-11-18 02:18:11
【问题描述】:
我有一个函数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();
}
所以现在一切都很好:) 谢谢大家的帮助。 无论如何,我还找到了一个生成随机数的库Chance.js
【问题讨论】:
-
这真的很奇怪,连MDN(最权威的MDN来源)都说应该按时间播种。
标签: javascript firefox random