2012-06-11 80 views
0

關於the following site的SoundCloud當前曲目信息

很簡單,但沒有少,我似乎在這個第一關在下降。

使用以下代碼目前嘗試和從當前有效的SoundCloud播放器獲得軌道名稱和藝術家(其中有4,與類SCiframe)

$(function() { 
    var $iframeElement = document.getElementsByClassName('SCiframe'); 
    var $widgets = SC.Widget(iframeElement); 
    widgets.bind(SC.Widget.Events.READY, function() { 
     widgets.bind(SC.Widget.Events.PLAY, function() { 
      // get information about currently playing sound 
      widgets.getCurrentSound(function (currentSound) { 
       $('#trackInfo').append('Current Track: ' + currentSound.get('') + ''); 
      }); 
     }); 
    }); 
}); 

爲一體,控制檯註冊'iframeElement沒有定義'作爲初始錯誤。但總而言之,我似乎無法得到任何有用的數據來處理。

我在哪裏錯了?

最真誠的問候社區。

回答

0

你有變量名稱不正確,他們有 「$」,在開始時,

$(function() { 
    var $iframeElement = document.getElementsByClassName('SCiframe'); 
    var $widgets = SC.Widget($iframeElement); 
    $widgets.bind(SC.Widget.Events.READY, function() { 
     $widgets.bind(SC.Widget.Events.PLAY, function() { 
       // get information about currently playing sound 
       $widgets.getCurrentSound(function (currentSound) { 
       $('#trackInfo').append('Current Track: ' + currentSound.get('') + ''); 
      }); 
     }); 
    }); 
}); 

編輯:

getElementsByClassName方法返回結果的數組。因此,如果只有一個與「SCiframe」類名的iframe,你應該通過$ iframeElement的第一個指數作爲paramater在SC.Widget,試試這個,

$(function() { 
    var $iframeElement = document.getElementsByClassName('SCiframe'); 
    var $widgets = SC.Widget($iframeElement[0]); 
    $widgets.bind(SC.Widget.Events.READY, function() { 
     $widgets.bind(SC.Widget.Events.PLAY, function() { 
      // get information about currently playing sound 
      $widgets.getCurrentSound(function (currentSound) { 
       $('#trackInfo').append('Current Track: ' + currentSound.get('') + ''); 
      }); 
     }); 
    }); 
}); 
+0

確定的,是真實,這並解決簡單的錯誤。但代碼仍然沒有返回。 我已在「alert('當前音軌:'+ currentSound.get('')+'')中添加;」看看我能否得到任何東西,但沒有什麼反應,所以顯然它甚至沒有得到這麼多。 林現在也遇到了錯誤: a.contentDocument未定義 – Cosy

+0

我在幾個警報添加... $(函數(){ \t \t \t \t \t變量$ iframeElement = document.getElementsByClassName( 'SCiframe') ; \t \t \t \t \t變量$控件= SC.Widget($ iframeElement); \t \t \t \t \t $ widgets.bind(SC.Widget.Events.READY,函數(){ \t \t \t \t \t \t \t alert('ready'); \t \t \t \t \t \t $ widgets.bind(SC.Widget.Events.PLAY,函數(){ \t \t \t \t \t \t \t警報( '綁定'); \t \t \t \t //獲取有關當前信息播放聲音 \t \t \t \t \t $ widgets.getCurrentSound(函數(currentSound){ \t \t'\t \t \t \t $('#trackInfo')。append('當前音軌:'+ currentSound。get('')+''); \t \t \t \t \t \t \t \t警報( '當前追蹤:' + currentSound.get( '')+ ''); – Cosy

+0

它們都沒有關閉,因此綁定函數甚至沒有被調用。 – Cosy