我有一个JSON字符串,如下所示,它包含图像的路径。在服务器将URL从URL存储到localstorage
"send-sms":{
"menu_name":"Send",
"menu_icon":"http:\/\/example.com\/mob\/media\/com_abcd\/icons\/send.png"
}
图像存在这是我的元
<meta http-equiv="Content-Security-Policy"
content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data: http://example.com">
我想将图像存储到本地会话。我使用下面的Javascipt来传递完整图片的URL。它总是返回null。
function getImageData(imgpath){
var img = new Image();
img.src = imgpath;
var data = null;
img.load = function() {
var canvas = document.createElement('canvas');
document.body.appendChild(canvas);
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
data = context.getImageData(x, y, img.width, img.height).data;
console.log(data);
localStorage.setItem('mysession_imag', data);
};
}
这是一个异步问题。将'setItem'调用放入您的'img.load'回调中。不过,您可能会在稍后遇到此其他问题:[Cross Domain Images and the Tainted Canvas](http://blog.codepen.io/2013/10/08/cross-domain-images-tainted-canvas/) – apsillers
@ apsillers我把'setItem'移到了load中。我也用我的元更新了这个问题。我得到了'undefined'的图片... – Malaiselvan