28

私はグーグルとSOのクイック検索を実行し、同様の質問を見つけましたが、どれも整形式ではなく、ほとんどが古く、見捨てられたように見えました(回答もコメントもしばらくありませんでした)。だからここに行く...

別のウェブサイトから自分のサイトにドロップされている画像のURL(URLのみ)を収集できるようにしたいです。(つまり、2つのクロムウィンドウを開いています。ウィンドウAにはアプリケーションがあります。ウィンドウBには画像があります。 。画像をクリックしてウィンドウにドラッグして放します。次に、ページにドロップされた画像のURLを知る必要があります)。

これが私がローカルファイルのために使っていたコードです。

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

繰り返しますが、私は何もアップロードしたくありません..私は特別なことをしようとはしていません...私は別のウェブサイトからページにドロップされている画像の場所を知る必要があります。

4

3 に答える 3

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);
    });
});​

"http://static3.flattr.net/thing/image/9/4/5/5/0/huge.png?1326712342"その画像を別のブラウザウィンドウからドラッグしたときに取得します。

.getAsString呼び出されたときに URL を引数として取得するコールバックを受け取ります

ファイアフォックスでは動かない

于 2012-06-26T19:02:04.930 に答える
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;
})
于 2012-08-29T07:56:15.430 に答える