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

我在 Google 和 SO 上进行了快速搜索,发现了类似的问题,但没有一个问题是正确的,而且大多数都是旧的,看起来被遗弃了(没有答案,有一段时间没有评论).所以就到这里了……

I ran a quick google and SO search and found similar questions but none were well formed and most were old and looked abandoned (no answers, and no comments for a while). So here goes...

我希望能够收集从另一个网站拖放到我的网站上的图像的 url(仅 url)..(即我打开了两个 chrome 窗口.窗口 A 中有我的应用程序.窗口 B 有imgur 在其中.我打开一个图像单击并将其拖动到我的窗口并松开.现在我需要知道放置在我的页面上的图像的 url).

I want to be able to collect the url (only the url) of an image being dropped onto my site from another website.. (i.e. I have two chrome windows open. Window A has my application in it. Window B has imgur in it. I open an image click and drag it to my window and let go. Now I need to know the url of the image dropped on my page).

这是我用于本地文件的代码.

Here is the code I was working with for local files.

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

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

Again I do not want to upload anything.. i'm not trying to do anything fancy... I just need to know the location of the image being dropped on the page from another website.

推荐答案

试试这个: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);
    });
});​

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

I get "http://static3.flattr.net/thing/image/9/4/5/5/0/huge.png?1326712342" When I dragged that image from another browser window.

.getAsString 接受一个回调,一旦它被调用,它就会获取 url 作为参数

.getAsString takes a callback which gets the url as argument once it's called

无法在火狐上运行

相关文章