通过拖动接受部分播放列表&下载Spotify应用程序

Accepting partial playlists via drag & drop in Spotify App

本文关键字:amp 下载 Spotify 应用程序 播放列表 拖动 受部      更新时间:2023-09-26

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

然而,每当用户从现有播放列表中只选择几首歌曲时,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.
}

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

我是如何做到的:

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);
        }
    });
});

希望这能有所帮助!