Javascript Sound Cloud自定义播放器-“云”;id属性为空";错误

Javascript Sound Cloud自定义播放器-“云”;id属性为空";错误,javascript,html,soundcloud,Javascript,Html,Soundcloud,我在使用Sound Cloud定制html5播放器时遇到了一些问题(http://developers.soundcloud.com/docs/custom-player)特别是在internet explorer上(在版本7、8和9上测试) 无论何时创建播放器(现在是通过JS动态创建的),它都会在“sc player.JS”文件(由sound cloud提供)中遇到一个函数错误 错误为“无法获取值或属性“id”:对象为null或未定义”。这就是出错的代码:第640行字符9 // select

我在使用Sound Cloud定制html5播放器时遇到了一些问题(http://developers.soundcloud.com/docs/custom-player)特别是在internet explorer上(在版本7、8和9上测试)

无论何时创建播放器(现在是通过JS动态创建的),它都会在“sc player.JS”文件(由sound cloud提供)中遇到一个函数错误

错误为“无法获取值或属性“id”:对象为null或未定义”。这就是出错的代码:第640行字符9

 // selecting tracks in the playlist
  $('.sc-trackslist li').live('click', function(event) {
var $track = $(this),
    $player = $track.closest('.sc-player'),
    trackId = $track.data('sc-track').id,
    play = $player.is(':not(.playing)') || $track.is(':not(.active)');
if (play) {
  onPlay($player, trackId);
}else{
  onPause($player);
}
$track.addClass('active').siblings('li').removeClass('active');
$('.artworks li', $player).each(function(index) {
  $(this).toggleClass('active', index === trackId);
});
return false;
});
我知道这是试图在生成的列表中找到一个曲目的id,但是我已经在页面上隐藏了这个列表,所以真的不应该触发click事件吗?我试着一起删除点击事件,但这似乎会导致玩家出现其他一些问题

只是想知道是否有其他人经历过这种情况,或者知道如何摆脱它

编辑-

我手动将“测试”数据附加到轨道上。这似乎解决了第一个错误,但当然也带来了另一个错误。这一次,这一行出现了相同的错误(在sc-player.js文件中):

这是我用来调用播放器的代码,track参数是指向music tracks soundcloud页面的链接,而#player是创建在以下页面之上的空div:

function init_player(track,title) {
  $('.open #player').scPlayer({
   links: [{url: track, title: title}],
   beforeRender  :   function(tracksData) {
      $scplayer = $(this);
      $('.sc-trackslist li, .sc-trackslist li a').data({ id: track});
  }
}
当用户想要切换到音乐的另一部分时,我有另一个函数,它清空容器div,将#player附加到它(因为它被soundcloud播放器覆盖),然后重新运行上述函数

我的问题是在第二次运行init_player函数时,我得到了错误

很抱歉延迟回复

这一行是错误的:

trackId = $track.data('sc-track').id,

我不能再帮你了,因为我需要剩下的代码…

Alon是对的,错误在这里:
trackId=$track.data('sc-track').id
。能否确保元素具有属性
数据sc track
trackId = $track.data('sc-track').id,