У меня возникли проблемы с загрузкой dataURL в мой холст из локального хранилища.Загрузка данныхURL из локального хранилища в HTML-холст
localStorage.getItem(canvasArea)
Я сумел сохранить dataURL в локальном хранилище, и когда я console.log это я могу его увидеть:
мне удалось сохранить его, используя этот код:
document.getElementById("saveButton").addEventListener("click", function()
{
var canvas = document.getElementById("canvasArea"),
ctx = canvas.getContext("2d");
localStorage.setItem(canvasArea, canvas.toDataURL());
})
Однако, когда я пытаюсь поместить этот dataURL, используя приведенный ниже код, он ничего не делает.
function loadCanvas(dataURL) {
var canvas = document.getElementById('canvasArea');
var ctx = canvas.getContext('2d');
var imageObj = new Image();
imageObj.src = dataURL;
imageObj.onload = function() {
ctx.drawImage(this, 0, 0);
};
}
var dataURL = localStorage.getItem(canvasArea);
loadCanvas(dataURL);
Я пропустил что-то очевидное или я глуп? Любая помощь будет оценена! Спасибо!
'localStorage.getItem (canvasArea);' - этот код относится к неопределенной переменной 'canvasArea', которая забрасывается в пустую строку (' '' ') – hindmost
Вероятно, вы должны использовать кавычки вокруг ключей, так как они должны быть строками? – adeneo
@hindmost, фактически, поскольку '' canvasArea "' является 'id' элемента canvas OP,' canvasArea' не является неопределенным, но эквивалентно 'document.getElementById ('canvasArea') || document.getElementsByName ('canvasArea') [0]; 'который, после передачи в методы' setItem() 'и' getItem() ', будет преобразован в его нотацию строки:' "[object HTMLCanvasElement]" '. Таким образом, даже если это не то, что OP пытается сделать, это сработает ... Теперь, для реальной проблемы, я предполагаю, что в код OP есть некоторые другие странности, которые мы не видим здесь. – Kaiido