用户退出我的网站时播放音频

时间:2012-04-28 22:24:52

标签: javascript jquery

我想知道当用户退出我的网站时是否有办法播放音频?

例如,

。 “感谢参观等。”

2 个答案:

答案 0 :(得分:8)

不,当用户离开网站时,您无法可靠地播放音频。虽然您可以启动它(使用onbeforeunload),但它无法完成播放。

严肃地说,如果你这样做,那只会激怒人们。 : - )

答案 1 :(得分:0)

我做了一点测试(仍然是整个HTML5的新手)并提出了这个解决方案:

 <script>
         function myLoadHandler(evt)
        {
           var audio_file1 = document.getElementById('audioID');
            audio_file1.volume = 0
            audio_file1.play();
        }


        if ("onpagehide" in window) {
            window.addEventListener("pageshow", myLoadHandler, false);

        } else {
            window.addEventListener("load", myLoadHandler, false);
        }

    </script>

    <script>

        function playAudio() {
            var audio_file1 = document.getElementById('audioID');
            audio_file1.volume = 1
            audio_file1.play();
        }
    </script>

    <body onunload="playAudio()">
        <div>

            <div>
                <audio id="audioID" src="your_audio.wav" preload="auto"></audio>
            </div>


        </div>
    </body>

我在最新的Chrome和Firefox上测试了它。仅适用于Firefox - 我猜Chrome会比javascript更快地从内存中删除所有资源。

另一个奇怪的事情是,即使使用preload =“auto”,音频似乎在播放后(从脚本或从UI)实际缓冲,所以这就是我在第0卷加载时播放的原因。

还有一件事 - 就像之前的回答中提到的那样 - 它可能会令人讨厌。请谨慎使用。