4

我发现了很多不同的拖放实现,但它们似乎都是在图像没有嵌套在 <a href> 标记内的一般假设下运行的。

无论是浏览器、mac os 还是 windows,结果总是一样的:

  • 拖动一个

    < img src='http://www.lol.com/pic.jpg' />

将以http://www.lol.com/pic.jpghtml形式输入。或者,如果拖入桌面 - 它将保存实际图像。

  • 拖动一个

    < a href='http://www.lol.com/notgonnahappen.html'>< img src='http://www.lol.com/pic.jpg' />< /a>

http://www.lol.com/notgonnahappen.html如果在桌面上拖动,将输入并创建一个 URL 链接。

无论如何要提取图像URL?而不是它所关联的链接?JS?爪哇?C#?

4

2 回答 2

0

使用纯 Javascript,您可以尝试以下操作:

function drop(evt) {
    evt.stopPropagation();
    evt.preventDefault(); 
    var imageUrl = evt.dataTransfer.getData('text/html');
    var rex = /src="?([^"\s]+)"?\s*/;
    var url, res;
    url = rex.exec(imageUrl);
    alert(url[1]);
}

这是一个有效的演示

于 2014-02-04T11:47:57.827 回答
0
var data = $(e.dataTransfer.getData('text/html'));
var img = data.attr('src');
if (!img) 
    img = data.find("img").attr('src');
于 2012-08-07T18:45:29.050 回答