Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过拖放接受部分播放列表&;加入Spotify应用程序_Javascript_Html_Drag And Drop_Spotify - Fatal编程技术网

Javascript 通过拖放接受部分播放列表&;加入Spotify应用程序

Javascript 通过拖放接受部分播放列表&;加入Spotify应用程序,javascript,html,drag-and-drop,spotify,Javascript,Html,Drag And Drop,Spotify,我正在开发Spotify应用程序,并在我的应用程序中构建了一个dropzone,这样用户就可以将音乐拖到上面。它适用于歌曲、专辑和播放列表。每当他们拖动此内容时,他们的光标会显示一个绿色加号,一切正常 但是,每当用户仅从现有播放列表中选择几首歌曲时,dropzone就会拒绝接受。没有显示绿色加号。没有任何内容传输到dropzone 有什么想法吗 var dropzone = document.querySelector('#dropzone'); dropzone.addEventListene

我正在开发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.
}

从我的尝试和研究(谷歌搜索)来看,似乎根本不可能在dropzone中删除多个链接。我不明白这一点,所以我想这是错误。但是,可以在应用程序的图标上放置多个链接,至少在我的情况下,这已经足够好了

我是如何做到的:

希望这有帮助

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