我正试图将我画布上的画圈保存到本地存储中,但我根本无法让它工作。
到目前为止,这是我在JS中的保存代码。
function saveCanvas() {
var canvas = document.getElementById("imgCanvas"),
doomslayer = canvas.toDataURL();
if (typeof (localStorage) !== "undefined") {
localStorage.setItem('imgCanvas', doomslayer);
} else {
document.getElementById("save").innerHTML.dataURL = "Local Storage not supported";
}
}
function loadCanvas() {
var image = localStorage.getItem('imgCanvas');
document.getElementById('imgCanvas').src = image;
}
终于有了它的工作! Working fiddle :)
答案 0 :(得分:3)
您必须将保存的数据网址加载到图像中,然后使用drawImage将其加载到画布上
IE限制:localStorage仅在提供的页面上可用(本地执行不起作用!)。
// save to localStorage
localStorage.setItem("imgCanvas",canvas.toDataURL());
// reload from localStorage
var img=new Image();
img.onload=function(){
context.drawImage(img,0,0);
}
img.src=localStorage.getItem("imgCanvas");