2012-04-24 48 views
3

我發現了很多拖放的各種實現,但它們都似乎在圖像不被嵌套在href>標記內的一般假設下運行。如何獲取圖像的URL從拖放如果圖像是一個鏈接?

無論是一個瀏覽器,MAC OS或視窗結果總是相同的:

  • 在HTML表單拖動

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

意願輸入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#?

回答

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

e.dataTransfer.getData(文本/ html')似乎只在Chrome工作。
FF因外部圖像失敗,IE完全失敗。 – 2013-07-29 12:26:15

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