当页面上的元素更改时,我想要播放声音.我知道如何做到这一点,但是我不能仅仅在第一次更改时才玩,而且不要稍后再做,直到用户重点关注窗口(选项卡)并再次模糊.
我当前的代码:
var notif = new Audio('http://cycle1500.com/sounds/infbego.wav'); if (window.innerHeight === window.outerHeight) { $(window).bind('DOMNodeInserted',function() { notif.play(); }); }
解决方法
使用变量来表示是否播放声音.
var shouldPlayAlertSound = true,notif = new Audio('http://cycle1500.com/sounds/infbego.wav'); if (window.innerHeight === window.outerHeight) { $(window).bind({ 'DOMNodeInserted': function() { if (shouldPlayAlertSound) { notif.play(); } shouldPlayAlertSound = false; },blur: function() { shouldPlayAlertSound = true; } }); }
编辑:我在Firefox,Safari和Opera上有tested this working(除了innerHeight支票外). (Chrome不支持播放WAV音频文件,仅支持MP3,AAC或Ogg Vorbis格式.)