Подтвердить что ты не робот

Перетаскивание изображений с другого веб-сайта на мой

Я быстро просмотрел Google и SO и нашел похожие вопросы, но ни один из них не был хорошо сформирован, а большинство из них были старыми и выглядели заброшенными (без ответов и комментариев на некоторое время). Итак, здесь идет...

Я хочу иметь возможность собирать URL-адрес (только URL-адрес) изображения, удаляемого на мой сайт с другого веб-сайта.. (т.е. у меня открываются два хромированных окна. В окне A есть мое приложение. imgur в нем. Я открываю изображение и перетаскиваю его в свое окно и отпускаю. Теперь мне нужно знать URL-адрес изображения, упавшего на моей странице).

Вот код, который я работал с локальными файлами.

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

Снова я не хочу ничего загружать.. Я не пытаюсь сделать что-то интересное... Мне просто нужно знать, как местоположение изображения удаляется на странице с другого сайта.

4b9b3361

Ответ 1

Попробуйте следующее: 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-адрес в качестве аргумента после его вызова

Не работает на firefox

Ответ 2

Вы можете использовать этот

$(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;
})

Ответ 3

На основе ответа Юнуса это работает в FF:

e.originalEvent.dataTransfer.getData('text/html').match(/src\s*=\s*"(.+?)"/)[1]