Javascript 如何通过捕获音频播放器行为来检查是否存在外部mp3

Javascript 如何通过捕获音频播放器行为来检查是否存在外部mp3,javascript,jquery,audio,html5-audio,Javascript,Jquery,Audio,Html5 Audio,当我在自己的网站中嵌入外部mp3文件时,如果目标文件已从目标服务器中删除,html5播放器将灰显,控件将被禁用。我怎样才能抓住这次活动,并以绿色或红色复选标记等其他方式显示mp3的可用性。由于文件可用性状态在浏览器上可见,我认为应该有一个事件或一种方法来捕获最终状态。我怎样才能了解可用性状态 这是我正在寻找的示例代码,但通过替换状态更改和状态: <audio controls id="mymp3"> <source src="http://example.com/1.mp3

当我在自己的网站中嵌入外部mp3文件时,如果目标文件已从目标服务器中删除,html5播放器将灰显,控件将被禁用。我怎样才能抓住这次活动,并以绿色或红色复选标记等其他方式显示mp3的可用性。由于文件可用性状态在浏览器上可见,我认为应该有一个事件或一种方法来捕获最终状态。我怎样才能了解可用性状态

这是我正在寻找的示例代码,但通过替换状态更改和状态

<audio controls id="mymp3">
  <source src="http://example.com/1.mp3" type="audio/mpeg">
</audio>

您可以使用
jQuery
head
方法检查文件是否存在

$.ajax({
    url:'http://site/somefile.mp3',
    type:'HEAD',
    error: function() {
        // not exists
    },
    success: function() {
        // exists
    }
});

监听事件。我在音频元素中添加了
onerror=“console.log('Error loading')”
,但没有任何事情发生@rorymccrossandoe不起作用,可能是由于浏览器的新安全策略