如果图像是链接,如何从拖放中获取图像URL?

时间:2012-04-24 22:52:53

标签: image url drag-and-drop

我发现了许多拖放的各种实现,但是所有这些实现似乎都是在图像没有嵌套在< a href>标签

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

  • 拖动

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

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

  • 拖动

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

如果在桌面上拖动,

将输入http://www.lol.com/notgonnahappen.html并创建一个URL链接。

无论如何都要提取图片网址?而不是它与之相关的链接? JS? Java的? C#?

2 个答案:

答案 0 :(得分:0)

var data = $(e.dataTransfer.getData('text/html'));
var img = data.attr('src');
if (!img) 
    img = data.find("img").attr('src');

答案 1 :(得分: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]);
}

这是一个有效的DEMO