Javascript 将图像从'dropbox'帐户拖放到html画布-'不在chrome中工作`

Javascript 将图像从'dropbox'帐户拖放到html画布-'不在chrome中工作`,javascript,drag-and-drop,dropbox,fabricjs,same-origin-policy,Javascript,Drag And Drop,Dropbox,Fabricjs,Same Origin Policy,此代码用于从图像库中拖动图像并将其放置在画布中(使用fabric.js),还可以从另一个选项卡中打开的dropbox帐户中拖放图像。这在firefox中运行良好,我可以从我的drop box帐户中拖动图像并将其放入画布中。但不是镀铬的e.dataTransfer.getData(“Text”)在chrome中给出一个空值。我认为这是同一原产地政策的问题,并尝试了很多方法来解决它。但是没有运气。请帮我找一份这方面的工作 function handleDrop(e) { e.s

此代码用于从图像库中拖动图像并将其放置在画布中(使用fabric.js),还可以从另一个选项卡中打开的dropbox帐户中拖放图像。这在firefox中运行良好,我可以从我的drop box帐户中拖动图像并将其放入画布中。但不是镀铬的
e.dataTransfer.getData(“Text”)
在chrome中给出一个空值。我认为这是同一原产地政策的问题,并尝试了很多方法来解决它。但是没有运气。请帮我找一份这方面的工作

    function handleDrop(e) {    
   e.stopPropagation();
    e.preventDefault();
   // handle local images   
   if(e.dataTransfer.files.length > 0){

        var files = e.dataTransfer.files;
        for (var i = 0, f; f = files[i]; i++) {

            // Only process image files.
            if (f.type.match('image.*')) {            
                // Read the File objects in this FileList.
                var reader = new FileReader();
                // listener for the onload event
                reader.onload = function(evt) {
                    // create img element
                    var img = document.createElement('img');
                    img.src= evt.target.result;                        

                    // put image on canvas
                    var newImage = new fabric.Image(img, {
                        width: img.width,
                        height: img.height,
                        // Set the center of the new object based on the event coordinates relative to the canvas container.
                        left: e.layerX,
                        top: e.layerY
                    });
                    canvas.add(newImage);
                };
               // Read in the image file as a data URL.
               reader.readAsDataURL(f);
            }
        }
    }  
   // handle dropbox images
    else{        
       var img = e.dataTransfer.getData("Text");
       console.log(img);
       var img = e.dataTransfer.getData("Text");
       if (img.indexOf('jpg')>0 ||img.indexOf('png')>0){           
           var temp = '<img draggable="true" src="'+img+'" width="250" height="250"></img>';
           $('#before').append(temp);
           var i = document.querySelector('img[src="'+img+'"]');
           console.log('i: ',i);
           var nI = new fabric.Image(i,{
           width: i.width,
           height:i.height,
           left:e.layerX,
           top:e.layerY
           });
           canvas.add(nI); 
        }
        }    
    return false;
}
函数handleDrop(e){
e、 停止传播();
e、 预防默认值();
//处理本地图像
如果(e.dataTransfer.files.length>0){
var files=e.dataTransfer.files;
for(var i=0,f;f=files[i];i++){
//仅处理图像文件。
if(f.type.match('image.*'){
//读取此文件列表中的文件对象。
var reader=new FileReader();
//onload事件的侦听器
reader.onload=函数(evt){
//创建img元素
var img=document.createElement('img');
img.src=evt.target.result;
//将图像放在画布上
var newImage=newfabric.Image(img{
宽度:img.width,
高度:img.height,
//根据相对于画布容器的事件坐标设置新对象的中心。
左:e.layerX,
顶部:e.layerY
});
canvas.add(newImage);
};
//作为数据URL读入图像文件。
reader.readAsDataURL(f);
}
}
}  
//处理dropbox图像
否则{
var img=e.dataTransfer.getData(“文本”);
控制台日志(img);
var img=e.dataTransfer.getData(“文本”);
如果(img.indexOf('jpg')>0 | | img.indexOf('png')>0){
var temp=“”;
$('#before')。追加(临时);
var i=document.querySelector('img[src=“”+img+'”);
console.log('i:',i);
var nI=新织物。图像(i{
宽度:即宽度,
身高:i.身高,
左:e.layerX,
顶部:e.layerY
});
canvas.add(nI);
}
}    
返回false;
}