我正在创建一个带有各种音频剪辑的音板。
我不想使用标准的 HTML5 音频控件,而是想用一些标题文本来设置每个按钮的样式,这样当用户按下按钮时,相关的剪辑就会播放。
使用以下代码,在 HTML 5 浏览器(Chrome、Firefox、Safari 和 IE9+)中一切正常:
<script type="text/javascript" charset="utf-8">
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this; //closure to keep reference to current audio tag
$("#doc").append($('<button>'+audio.attr("title")+'</button>').click(function() {
that.play();
}));
});
});
</script>
<!-- Sample Audio Clip -->
<audio controls preload="auto" autobuffer title="Sounds of Laughter">
<source src="assets/clips/1.mp3" />
<source src="assets/clips/1.ogg" />
</audio>
但是,在 Internet Explorer 8 等不兼容 HTML 5 的浏览器上不支持此解决方案。
我正在寻找某种变通方法,可以让我 (a) 检测浏览器是否不支持 HTML 5 标签并重定向到音板的替代版本,或者 (b) 使用后备(flash,等)如果不存在支持,则在按钮上使用自定义样式。