Javascript Soundcloud当前曲目信息

Javascript Soundcloud当前曲目信息,javascript,jquery,api,soundcloud,Javascript,Jquery,Api,Soundcloud,关于 很简单,但尽管如此,我似乎还是在这方面遇到了第一个障碍 当前使用以下代码尝试从当前活动的soundcloud播放器(其中有4个,类为SCiframe)获取曲目名称和艺术家 首先,控制台将“iframeElement未定义”注册为初始错误。 但总而言之,我似乎无法从中获得任何有用的数据进行处理 我哪里出了问题 向社区致以最亲切的问候 变量名不正确,开头有“$” $(function () { var $iframeElement = document.getElementsByCla

关于

很简单,但尽管如此,我似乎还是在这方面遇到了第一个障碍

当前使用以下代码尝试从当前活动的soundcloud播放器(其中有4个,类为SCiframe)获取曲目名称和艺术家

首先,控制台将“iframeElement未定义”注册为初始错误。 但总而言之,我似乎无法从中获得任何有用的数据进行处理

我哪里出了问题


向社区致以最亲切的问候

变量名不正确,开头有“$”

$(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返回一个结果数组。因此,如果只有一个iframe具有“scirame”类名,那么您应该在SC.Widget中将$iframelement的第一个索引作为参数传递

$(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('') + '');
            });
        });
    });
});

好的,是的,这确实解决了简单的错误。但是代码仍然没有返回任何内容。我添加了“警报('Current Track:'+currentSound.get(''+'');”,看看我能不能得到什么,但什么都没发生,很明显,它还没走到这一步。我现在也得到了错误:a.contentDocument是未定义的我添加了一些警报$(function(){var$iframelement=document.getElementsByClassName('SCiframe');var$widgets=SC.Widget($iframelement);$widgets.bind(SC.Widget.Events.READY,function(){alert('READY');$widgets.bind(SC.Widget.Events.PLAY,function(){alert('bind'));//获取有关当前播放声音$widgets的信息。getCurrentSound(函数(currentSound){$('#trackInfo')。append('当前曲目:'+currentSound.get('')+'');alert('当前曲目:'+currentSound.get('')+'');它们都没有设置,所以绑定函数甚至没有被调用。我有一种可怕的感觉,这可能会导致一些问题。问题是,我之所以选择一个类,是因为有4个单独的播放器,我希望它们都共享同一个API进行播放。我有点希望聪明的ole jQuery可能只占用整个数组a然后将它们作为一个整体进行处理。我是否可以创建某种循环来迭代每个侦听器,并将相同的侦听器附加到每个侦听器?或者使用jQuery.each()以某种方式捕获所有侦听器?[0]AMMENDENT确实允许代码继续运行,我在执行READY后收到警报,绑定成功后又收到一个警报。但代码仍然挂在currsound.get部分,控制台错误为..currentSound.get不是函数[Break on This error]$('#trackInfo')。append('Current Track:'+currentSound.get(+');
$(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('') + '');
            });
        });
    });
});