1. 程式人生 > >html5,audio標籤的autoplay="autoplay"在iphone上無法播放的問題

html5,audio標籤的autoplay="autoplay"在iphone上無法播放的問題

html5標籤audio的autoplay屬性可以設定在頁面開啟後自動播放。這個屬性本來挺好的。但是最近做了一個專案卻發現在iphone上無法自動播放。

各種查閱資料後發現原來iphone公司是考慮到使用者可能是用手機流量訪問的情況,為了使用者流量著想,所以需要使用者互動後才能播放。雖然蘋果公司是出於好心,但是如果網頁開啟之後還需要一個互動才能聽到美妙的背景音樂,那麼網站的體驗效果自然差了很多。可是這種問題要怎麼解決呢?
冥思苦想了很久,終於做了一個艱難的決定。於是乎就這樣嘗試了一下:

$(function(){
   $("#audio")[0].play(); 
})

沒想到竟然好用!!!
全部的程式碼是這樣

<html>

<head>

<script src="js/jquery.js"></script>

</head>

<body>

<audio id="audio" src="song.mp3" autoplay="autoplay">

您的瀏覽器不支援audio標籤。

</audio>

$(function(){

$("#audio")[0].play();

})

</body>
</html>

這裡需要注意的是.play()方法是element的方法,所以需要dom節點。

親測iphone可用。