Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2013, 13:58
Интересующийся
Отправить личное сообщение для VanillaNinja Посмотреть профиль Найти все сообщения от VanillaNinja
 
Регистрация: 24.12.2013
Сообщений: 13

Получение тела изображения FireFox addon
Ребята, выручайте!
Пишу аддон для Firefox и у меня возникла следующая нетривиальная задача:
После загрузки страницы, необходимо получить изображение(по ссылке, по которой оно было получено оно больше недоступно), при этом необходимо получить не какой-то адрес, а непосредственно тело изображения, буду признателен, если расскажите, как это лучше сделать.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2013, 14:06
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

т.е. на странице есть картинка с урлом, который более не работает, и тебе надо как-то получить содержимое этой картинки?
попробуй скопировать ее на канву, а там дальше все просто
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2013, 14:21
Интересующийся
Отправить личное сообщение для VanillaNinja Посмотреть профиль Найти все сообщения от VanillaNinja
 
Регистрация: 24.12.2013
Сообщений: 13

А чем ее подцепить, чтобы скопировать в канвас?
getElementsByTagName()?
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2013, 14:27
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от VanillaNinja
getElementsByTagName()?
как вариант.

а вообще, посмотреть firebug-ом, как она расположена в документе на странице, и в зависимости от этого выбрать способ.
к твоим услугам механизм селекторов:
document.querySelectorAll
document.querySelector

document - это документ страницы с картинкой
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2013, 15:15
Интересующийся
Отправить личное сообщение для VanillaNinja Посмотреть профиль Найти все сообщения от VanillaNinja
 
Регистрация: 24.12.2013
Сообщений: 13

var elm = document.getElementById("my_image");
var canvas = document.createElement("canvas");
                    canvas.width = elm.width;
                    canvas.height = elm.height;
                     var ctx = canvas.getContext("2d");
                    ctx.drawImage(elm, 0, 0);
                    var dataURL = canvas.toDataURL("image/png");
                    img_src1 = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
                    alert(img_src1);
}


Вот почему-то эта контсрукция работать не хочет. Я что-то делаю не так?

Последний раз редактировалось VanillaNinja, 24.12.2013 в 15:33.
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2013, 15:27
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var elm = document.getElementById("my_image");

цикл и код выше лишний
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2013, 15:32
Интересующийся
Отправить личное сообщение для VanillaNinja Посмотреть профиль Найти все сообщения от VanillaNinja
 
Регистрация: 24.12.2013
Сообщений: 13

Ну ведь это скорее эстетическая проблема а не функциональная. Хотя, спасибо, переписал.
Но тем не менее не работает эта красота, выполняется до строчки
var ctx = canvas.getContext("2d");
а дальше - не работает (
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2013, 15:42
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

VanillaNinja,

видимо, канву надо куда-нибудь добавить, в документ например.
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2013, 15:54
Интересующийся
Отправить личное сообщение для VanillaNinja Посмотреть профиль Найти все сообщения от VanillaNinja
 
Регистрация: 24.12.2013
Сообщений: 13

Яростный Меч,
var canvas = document.createElement("canvas");

разве эта cтрока не делает этого?
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2013, 16:05
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от VanillaNinja
разве эта cтрока не делает этого?
нет. она только создает элемент.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение изображения в Contenteditable tarya Общие вопросы Javascript 1 21.09.2011 03:03
Получение изображения в Contenteditable tarya Events/DOM/Window 0 02.08.2011 02:13
Получение высоты изображения theo_ Javascript под браузер 2 21.06.2011 16:04
Opera, FireFox, Chrome - проблема с получение HTML выдеенно фрагмента Frozen Coyote Firefox/Mozilla 1 24.02.2011 15:43
Получение координат изображения Гость Общие вопросы Javascript 4 08.04.2008 19:50