【发布时间】:2013-05-06 16:58:49
【问题描述】:
我目前正在使用 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);
}
});
}
【问题讨论】:
-
尝试在
.onload之后 设置.src属性。它可能被缓存。另一种选择是将查询字符串添加到src,以便它破坏任何缓存。我更喜欢使用我的第一个建议 -
刚刚试过,不行。
标签: javascript crossrider