我有一個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