簡単なテスト ( jsFiddle demo ) を次に示します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Audio Test</title>
</head>
<body>
<a href="javascript:document.getElementById('audio_test').play();">Play Audio</a>
<audio id="audio_test" onplay="javascript:console.log('played');" onended="javascript:console.log('ended');">
<source src="http://www.html5tutorial.info/media/vincent.ogg" type="audio/ogg">
<source src="http://www.html5tutorial.info/media/vincent.mp3" type="audio/mpeg">
</audio>
</body>
</html>
上記のコードを使用してオーディオ ファイルを複数回再生すると、Internet Explorer 10 はconsole.log('played');
1 回だけ実行されます。この動作は Microsoft が意図したものですか、それとも私が何か間違ったことをしているのですか? これに対する適切な回避策はありますか?