В настоящее время я пишу расширение с помощью Crossrider, и мне нужно загрузить изображение напрямую с помощью URL-адреса для выполнения некоторой обработки изображения на нем. Однако событие onload
, похоже, вообще не срабатывает.JavaScript Загрузить изображение из URL-адреса в расширении браузера Crossrider
Я делаю что-то неправильно или это возможно сделать в расширении браузера?
Вот соответствующий фрагмент кода:
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');
};
EDIT
Вот полный код
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', чтобы он разбивал любой кеш. Я бы предпочел использовать мое первое предложение – Ian
Просто попробовал это, не работая. –