【发布时间】:2011-12-02 15:29:16
【问题描述】:
对于我的一生,我找不到所有 html5 <audio> 事件和属性的完整列表(尽管我相信它们可能因浏览器而异)。我的很多谷歌搜索都有网站谈论“使用 javascript 音频 api”或“使用 javascript 音频 api”等,并展示了几个示例,但我没有找到方法列表或它们的作用。
例如,
var a = document.getElementById('audio');
a.ended = function () { alert('foo!'); }; //FAIL
a.onended = function () { alert('foo!'); }; //FAIL
a.addEventListener('ended', function () { alert('foo!'}); }; //PASS
a.addEventListener('play', function () { alert('foo!'}); };
为什么没有onended?为什么叫play 而不是played?这些东西并不直观,因此 API 的实际列表会很有帮助。
另外,有些浏览器不尊重上述属性吗?我的黑莓手机和 mobile-ie9 不会在活动结束时发出警报,但 chrome、ffx 和 ipad-safari 都会发出警报。
【问题讨论】:
-
对 HTML 5 的支持仍然普遍很糟糕,而且 IE 并不是因为与标准配合得很好而臭名昭著。可以在here 中找到媒体对象的新 HTML 5 事件处理程序列表,但我预计至少一两年内不会得到广泛的支持。
-
<audio>元素及其 JavaScript API 相对较新。支持可能会在一段时间内发生变化。
标签: javascript html audio