V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lslqtz

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

  •  
  •   lslqtz · May 30, 2016 · 2634 views
    This topic created in 3627 days ago, the information mentioned may be changed or developed.
    <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 的方式,但是发现在手机上直接不播放了。
    5 replies    2016-05-30 18:31:47 +08:00
    cute
        1
    cute  
       May 30, 2016   ❤️ 1
    SafariAutoPlay.addEventListener('play'
    应该是
    music.addEventListener('play'
    吧?
    lslqtz
        2
    lslqtz  
    OP
       May 30, 2016 via iPhone
    @cute 我是参考了这里来改,这里的也没有判断。
    https://m.douban.com/note/527250492/
    lslqtz
        3
    lslqtz  
    OP
       May 30, 2016 via iPhone
    @cute 不过手机细看了下,估计有效,感谢。
    cute
        4
    cute  
       May 30, 2016   ❤️ 1
    你的代码写错了
    lslqtz
        5
    lslqtz  
    OP
       May 30, 2016 via iPhone
    话说,这段代码不判断 UA 的话对其他浏览器有什么影响?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2813 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    ♥ Do have faith in what you're doing.