1

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

例如。“感谢访问等。”

4

2 回答 2

8

不,当用户离开网站时,您无法可靠地播放音频。尽管您可以启动它(使用onbeforeunload),但它不会结束播放。

说真的,如果你这样做了,那只会激怒人们。:-)

于 2012-04-28T22:26:13.060 回答
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 时播放它。

还有一件事 - 就像之前回答中提到的某人一样 - 它可能会很烦人。谨慎使用。

于 2012-04-28T23:33:32.453 回答