我正在使用 SoundCloud HTML5 iFrame 小部件,并试图在它完成时触发一个事件。歌曲第一次结束时,事件触发。但是当我在完成事件触发后以同样的方式播放另一首歌曲时,完成事件不会触发第二次!
它与以下问题基本相同:Soundcloud HTML5 Player: Events.FINISH 只触发一次
虽然在我的情况下,我已经在使用新的 api.js 而没有 parentWindow 调用。
我正在使用 API.js: http ://w.soundcloud.com/player/api.js
我的页面上有一个 iframe,如下所示:
播放歌曲时,附加事件如下:
var widgetIframe = document.getElementById('soundcloud-container'),
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.FINISH, function(player, data) {
console.log('finished');
playNextTrack();
});
在 playNextTrack() 方法中,执行相同的代码以再次附加事件。但是现在,它不再触发了。playNextTrack 中的所有其他代码都按预期执行,但 SC.Widget.Events.FINISH 不是。它也不会在控制台中显示错误消息。
有谁知道我可能做错了什么?