【问题标题】:Play audio when user exits my website当用户退出我的网站时播放音频
【发布时间】:2012-05-09 05:35:13
【问题描述】:

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

例如。 “感谢光临等”

【问题讨论】:

  • 意外的“谢谢”音频剪辑?我个人建议不要这样做。但是,是的,这是可能的(某种 ...)。但是不要。请。
  • 天哪,为什么?请不要。
  • 您在 Google TM 工作吗?这是即将推出的新功能吗? :)
  • 访问者将永远不会再回到您的网站。

标签: javascript jquery


【解决方案1】:

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

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

【讨论】:

  • 这真的可以开始并继续播放直到确认对话框消失。
【解决方案2】:

我做了一个小测试(对整个 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 音量播放它的原因。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多