我正在使用SoundCloud的javascript库为我网站上的嵌入式播放器设置一些外部控件。播放/暂停和跳过按钮适用于我测试过的所有浏览器(让移动设备留给另一个问题)。我还连接了一个FINISH
监听器,以自动跳过播放器到新的轨道。这适用于Chrome和Firefox,但似乎事件永远不会在Safari上触发。我将尝试提取代码的相关部分,并省略我认为多余的内容。请随时要求澄清或更多细节。
谢谢!
<div id=playlist-player">
<iframe id="sc-ilovemakonnen-tuesday-feat-drake" class="player-iframe" width="100%" height="120" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/162777996&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true"></iframe>
</div>
initializeSoundCloudPlayer: (post) ->
playerIframe = document.getElementById("sc-"+post.slug)
@player = SC.Widget(playerIframe)
@player.bind(SC.Widget.Events.READY, () =>
@player.unbind(SC.Widget.Events.FINISH)
@player.bind(SC.Widget.Events.FINISH, () =>
@skip("forward", true)
)
)
因此,我认为,带回家的消息是@skip()
方法永远不会在safari上运行,因此我认为永远不会触发FINISH
事件。
我已经读过其他地方,当嵌入代码中的autoplay选项为true时,某些事件没有被触发存在问题,但我有这个问题,无论是否有自动播放都是真的。