1

ユーザーがウェブサイトを終了したときにオーディオを再生する方法があるかどうか疑問に思っていますか?

例えば。「ご来店ありがとうございます」など

4

2 に答える 2

8

いいえ、ユーザーが Web サイトを離れたときにオーディオを確実に再生することはできません。( を使用して)開始することはできますが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 が実行できるよりも速くすべてのリソースをメモリから削除すると思います。

もう 1 つの奇妙なことは、preload="auto" を使用しても、オーディオが実際に再生された後に (スクリプトまたは UI から) バッファリングされているように見えることです。そのため、ボリューム 0 でロード時に再生します。

そしてもう1つ-前の回答で誰かが言及したように-それはおそらく迷惑になるでしょう. 注意して使用してください。

于 2012-04-28T23:33:32.453 に答える