声音云自定义播放器 - “id 属性为空”错误
Sound Cloud custom player - "id property is null" error
我在使用 Sound Cloud 自定义 html5 播放器 (http://developers.soundcloud.com/docs/custom-player) 时遇到了一些问题,特别是在 Internet Explorer 上(在版本 7、8 和 9 上测试)。
似乎每当创建播放器时(现在这是通过JS动态创建的),它都会遇到"sc-player.js"文件中函数的错误(由此处的声音云提供)。
错误为"无法获取值或属性'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,但是我已经在页面上隐藏了这个列表,所以点击事件真的不应该甚至不应该触发吗?我尝试一起删除点击事件,但这似乎会导致播放器出现许多其他问题。
只是想知道是否有其他人经历过这种情况或知道如何解决它?
编辑-
我手动将"测试"数据附加到轨道上。这似乎解决了第一个错误,但当然会带来另一个错误。这次为这一行(在sc-player.js文件中)吐出相同的错误:
getPlayerData = function(node) {
return players[$(node).data('sc-player').id];
}
这是我用来调用播放器的代码,曲目参数是指向音乐曲目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,
我不能帮你更多,因为我需要其余的代码......
相关文章:
- 无法在javascript中设置属性错误
- CSS”;边界宽度“;(px)属性错误
- 无法在Angular js中设置属性错误
- 无法读取MobilFirst平台中jsonstore中的长度属性错误
- 如何修复knockoutjs中未定义的属性错误
- 无法在 IE 10 中获取属性错误
- 处理“无法读取 null 的属性”错误
- 未知的目标实体属性错误
- Spotify Api,位置属性错误
- Angular:Iframe指令中的src属性错误
- 使用字符串按属性错误对对象进行数组排序
- 试图用NPM脚本指定node_env变量,但我得到了未定义的属性错误
- StyleSet属性错误:无法设置属性'webkitTransition'的未定义
- 对象没有'不支持此方法或属性错误
- 获得'未定义'使用闭包工具继承时出现属性错误
- 对象中的jQuery分析HTML结果不支持属性错误
- 刷新映射时出现未定义的属性错误
- 没有提供值的属性;错误- UrlFetchApp
- 平均堆栈文件上传程序抛出不可读属性错误
- 在node.js中未定义读取属性错误