2012-04-28 45 views
1

我想知道當用戶退出我的網站時是否有播放音頻的方式?例如當用戶退出我的網站時播放音頻

。 「感謝參觀等。」

+1

驚喜'謝謝'音頻剪輯?我...會親自提出反對意見。但是,是的,這是可能的(*排序* ...)。但是不要。請。 – 2012-04-28 22:26:05

+9

哦,上帝,爲什麼?請不要。 – xbonez 2012-04-28 22:26:17

+2

請不要那樣做。 – 2012-04-28 22:26:19

回答

8

不,您不能在用戶離開網站時可靠地播放音頻。雖然你可以開始它(使用onbeforeunload),它不會完成播放。

嚴重的是,如果你這樣做,它只會刺激人。 :-)

+0

在確認對話框消失之前,是否真的有可能啓動並繼續播放。 – 2012-04-28 22:36:23

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更快地刪除內存中的所有資源。

另一個奇怪的是,即使有預緊=「自動」時,音頻似乎更是打出了後(無論是從腳本或者從UI)實際緩存,所以這就是爲什麼我用音量播放它負載0

還有一件事 - 比如前面的回答中提到的某人 - 這可能會令人討厭。謹慎使用。