html5 audio标签在ios safari浏览器中,js是无法控制播放的。因为ios safari浏览器内置的把.play() .load()都给禁用了。官方的说法是为了用户着想,必须当用户手动的去出发播放控件的时候,拿到action,才可以播放。为什么,我会遇到这个问题呢?因为页面是用html5写的,要嵌入到ios里面。开始在安卓上面测试的时候,一点问题没有,一到苹果上面,直接挂了。查找原因发现ios使用的webview默认用safari浏览器渲染,为了整这个问题,查了很多资料,连苹果官方的文档都看了。下面看代码:<div class="voice"> <audio><source src="地址" type="audio/aac" /> </audio></div> <script>$(document).on('click','.voice', function() { $(this).find('audio').get(0).play();}</script>当我们运行上面的代码的时候,你会发现safari浏览器直接的报错。意思就是.play()方法不存在。TypeError: 'undefined' is not a function (evaluating '$(this).find('audio').get(0).play()')之前的解决方案:解决方式,只能ios那边抓我的音频路径,自行的去播放了。如果有更好的方法,麻烦请告诉我,留言或邮件都可以。