var track_url = data.result;
SC.get('/resolve', {
url: track_url
}, function(track) {
console.log(track.id);
$('#player').append('<iframe id="soundcloud_widget" src="http://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/' + track.id + '&show_artwork=true&liking=true&sharing=true&auto_play=true" width="1280" height="720" frameborder="no"></iframe>');
var q = $('#player').get(0);
console.log(q);
var widget = SC.Widget(document.getElementById('soundcloud_widget'));
widget.bind(SC.Widget.Events.READY, function() {
console.log("test1");
});
widget.bind(SC.Widget.Events.FINISH, function() {
console.log("test2");
});
});
我正在使用此代碼在我的頁面上動態地嵌入一個soundcloud播放器。每次請求一首新歌曲時,它會刪除以前的播放div元素並將其重新播放到HTML,以便您可以播放新歌曲。我有這個工作的YouTube API,但無法讓它爲soundcloud工作。事件不會發生。我得到一個錯誤,在這條線:getelementbyid附加元素
var widget = SC.Widget(document.getElementById('soundcloud_widget'));
的錯誤是:
Uncaught TypeError: undefined is not a function ?n=2071:211(anonymous function) ?n=2071:211(anonymous function) sdk.js:1request.onreadystatechange sdk.js:1
現在我相信這個錯誤發生,因爲當我追加了新的iframe的DOM數據的心不是被更新,所以「 soundcloud_widget'元素不被'getelementbyid'找到。不幸的是,就我個人而言,這是可以實現的。
什麼是您試圖插入它的htmp? – cpoDesign 2014-10-20 08:31:46