【问题标题】:Accepting partial playlists via drag & drop in Spotify App通过在 Spotify 应用程序中拖放来接受部分播放列表
【发布时间】:2012-07-08 02:34:34
【问题描述】:

我正在开发一个 Spotify 应用程序,并在我的应用程序中构建了一个拖放区,以便用户可以将音乐拖到它上面。它适用于歌曲、专辑和播放列表。每当他们拖动此内容时,他们的光标就会显示一个绿色加号,一切正常。

但是,当用户从现有播放列表中仅选择几首歌曲时,dropzone 拒绝接受它们。没有显示绿色加号。没有任何东西被转移到 dropzone。

有什么想法吗?

var dropzone = document.querySelector('#dropzone');
dropzone.addEventListener('dragover', handleDragOver, false);
dropzone.addEventListener('drop', handleDrop, false);

function handleDragOver(e) {
    e.preventDefault();
    e.dataTransfer.dropEffect = 'copy';
    return false;
}

function handleDrop(e) {
    var droppedURI = e.dataTransfer.getData('Text');
    // rest of code here.
}

【问题讨论】:

    标签: javascript html drag-and-drop spotify


    【解决方案1】:

    根据我的尝试和研究(谷歌搜索),似乎根本不可能将多个链接放入放置区。我不明白这一点,所以我猜这是错误。然而,可以将多个链接放到应用程序的图标上,至少在我的情况下这已经足够了。

    我是怎么做到的:

    models.application.observe(models.EVENT.LINKSCHANGED, function(){
        models.application.links.forEach(function(link){
            // Use your already existing logic and do whatever your want to do with the links
            // For example (assuming you already have a playlist object):
            if( (link.split('/')[3] || link.split(':')[1]) === 'track' ){
                playlist.add(link);
            }
        });
    });
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      相关资源
      最近更新 更多