В настоящее время я пишу расширение с помощью Crossrider, и мне нужно загрузить изображение напрямую, используя URL-адрес, чтобы выполнить некоторую обработку изображения. Однако событие onload
, похоже, вообще не срабатывает.
Я делаю что-то не так или это вообще возможно сделать в расширении браузера?
Вот соответствующий фрагмент кода:
var imga = document.createElement('img');
imga.src = obj.attr('href'); // URL of the image
imga.style.display = 'none';
imga.onload = function() {
alert('Image loaded');
var imgData = getImageData(imga, 0, imga.height - 3);
alert('Got Image data');
};
ИЗМЕНИТЬ
Вот полный код
function readImage(obj)
{
console.log('Reading');
relayReadImage(obj.attr('href'));
}
function relayReadImage(link)
{
var dateObj = new Date();
var newlink = link + "?t=" + dateObj.getTime();
console.log(newlink);
appAPI.request.get(
{
url: newlink,
onSuccess: function(response, additionalInfo) {
console.log(response);
},
onFailure: function(httpCode) {
alert('GET:: Request failed. HTTP Code: ' + httpCode);
}
});
}
.src
после свойства.onload
. Он может быть закеширован. Другой вариант — добавить строку запроса кsrc
, чтобы она разбивала любой кеш. Я бы предпочел использовать мое первое предложение - person Ian   schedule 06.05.2013