将图像从另一个网站拖放到我的网站

rle*_*mon 27 javascript jquery drag-and-drop cross-domain

我跑了一个快速谷歌搜索和搜索,发现了类似的问题,但没有一个很好形成,大多数都是旧的,看起来被遗弃(没有答案,一段时间没有评论).所以这里......

我希望能够收集从另一个网站上放到我网站上的图像的网址(只有网址)..(即我打开了两个镀铬窗口.窗口A有我的应用程序.窗口B在其中有重要意义我打开一个图像点击并将其拖到我的窗口然后放开.现在我需要知道我页面上丢失的图像的网址.

这是我正在使用本地文件的代码.

$(document).on('drop', function(e) {
    var data = e.dataTransfer || e.originalEvent.dataTransfer;
    console.log(data); // data.files is empty
    e.preventDefault();
    return false;
});?
Run Code Online (Sandbox Code Playgroud)

再一次,我不想上传任何东西..我不想做任何花哨的事情......我只需要知道从另一个网站上放置在页面上的图像的位置.

Esa*_*ija 19

试试这个:http://jsfiddle.net/2Jet2/70/

$(document).on('dragover', function(e) {
     e.preventDefault();
});
$(document).on('drop', function(e) {
    e.preventDefault();
    e.originalEvent.dataTransfer.items[0].getAsString(function(url){
        alert(url);
    });
});?
Run Code Online (Sandbox Code Playgroud)

"http://static3.flattr.net/thing/image/9/4/5/5/0/huge.png?1326712342"当我从另一个浏览器窗口拖动该图像时,我得到了.

.getAsString 接受一个回调,一旦调用它就将url作为参数

在Firefox上不起作用


小智 6

你可以用它

$(document).bind('drop', function (e) {        
    var url = $(e.originalEvent.dataTransfer.getData('text/html')).filter('img').attr('src');
    if (url) {
        jQuery('<img/>', {
            src: url,
            alt: "resim"
        }).appendTo('#yourId');            
    }
    return false;
})
Run Code Online (Sandbox Code Playgroud)