用 JavaScript,使 Safari 自动播放时出现了小问题。

2016-05-30 18:21:55 +08:00
 lslqtz
<script>
function SafariAutoPlay() {
music.load();
music.play();
}
var music=document.getElementById('music');
window.addEventListener('touchstart',SafariAutoPlay,false);
SafariAutoPlay.addEventListener('play',function() {
window.removeEventListener('touchstart',SafariAutoPlay,false);
},false);
</script>
使用以上代码,在非 Safari 时会报这么一个错:
Uncaught TypeError: SafariAutoPlay.addEventListener is not a function 。
怎样使其不报错?我尝试使用判断 UA 的方式,但是发现在手机上直接不播放了。
2181 次点击
所在节点    JavaScript
5 条回复
cute
2016-05-30 18:26:17 +08:00
SafariAutoPlay.addEventListener('play'
应该是
music.addEventListener('play'
吧?
lslqtz
2016-05-30 18:28:31 +08:00
@cute 我是参考了这里来改,这里的也没有判断。
https://m.douban.com/note/527250492/
lslqtz
2016-05-30 18:30:02 +08:00
@cute 不过手机细看了下,估计有效,感谢。
cute
2016-05-30 18:31:23 +08:00
你的代码写错了
lslqtz
2016-05-30 18:31:47 +08:00
话说,这段代码不判断 UA 的话对其他浏览器有什么影响?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/282300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX