只是基于反馈的快速编辑:这个问题的主要部分是我的经验不足。如果您能给我一些有关如何调查/调试的提示,我将不胜感激。再次感谢。尼尔
我有这个功能/插件,用于在单击元素时播放声音:
(function($){
$.fn.attachSound = function (soundSrc)
{
return this.each(function(index){
var audioElement = document.createElement('audio');
if (audioElement.canPlayType('audio/mpeg') == '')
{
soundSrc = soundSrc.replace('.mp3','.ogg');
}
audioElement.setAttribute('src', soundSrc);
$(this).click(function() {
audioElement.play();
});
})
}
})( jQuery );
这是我如何称呼它的一个例子:
$(document).ready(function(){
$('#laughter-button').attachSound('sounds/laughter-elf.mp3');
$('#laughter-button2').attachSound('sounds/laughter-santa.mp3');
})
到目前为止,它可以在 Chrome、FF、Opera 和 Safari 中运行(所有当前版本,我还没有在 IE 上进行测试)。我遇到的问题是在 Safari 中,它仅适用于第一个用户点击。我想使用此功能的方法之一是作为基于声音的记忆游戏的一部分,因为它不会这样做。有任何想法吗?
我在编程方面非常缺乏经验,而且我从未尝试过闪存回退技术,但我愿意研究它是如何工作的。不过,也许有更好的方法,或者您可以为我指明正确的方向?
谢谢你,尼尔