1

IE、Firefox、Chomeで動作する以下のコードを見つけてください。Safariで動作しないのはなぜですか?エラーが発生します'undefined'はコンストラクタではありません('new Audio()'を評価しています)

var playSound = function (){
    var audio = new Audio(),
        audioFileName = 'click',
        canPlayOgg = !!audio.canPlayType && audio.canPlayType('audio/ogg; codecs="vorbis"') != "",
        ext = (canPlayOgg)?'.ogg':'.mp3';

    audio.setAttribute("src",audioFileName + ext);
    audio.play();
}
<input type="button" onclick="playSound();"/>

どんなアドバイスも大歓迎です。

ありがとう

4

1 に答える 1

0

var/constructor 行の最後にセミコロンを忘れて、それが原因である可能性はありますか? たとえば、試してみてください

var audio = new Audio(),
    audioFileName = 'click',
    canPlayOgg = !!audio.canPlayType && audio.canPlayType('audio/ogg; codecs="vorbis"') != "",
    ext = (canPlayOgg)?'.ogg':'.mp3';
于 2012-12-14T14:24:44.977 に答える