Я пытался восстановить все свои использованные блоки из localStorage. Я перебираю все локальные сохраненные блоки, но я получил следующую ошибку. Было бы здорово, если бы я мог получить некоторую помощь.
Ошибка:
blockly_compressed.js:1274 Uncaught Error: Blockly.Xml.textToDom expected an
<xml> document.
at Object.Blockly.Xml.textToDom (blockly_compressed.js:1274)
at restoreWorkspace ((index):312)
at HTMLButtonElement.onclick ((index):115)
Blockly.Xml.textToDom @ blockly_compressed.js:1274
restoreWorkspace @ (index):312
onclick @ (index):115
Код для восстановления всех блоков:
// restore blocks
function restoreWorkspace() {
for (var i = 0; i < localStorage.length; i++){
let program=(localStorage.getItem(localStorage.key(i)));
Blockly.mainWorkspace.clear();
let textToDom = Blockly.Xml.textToDom(program);
Blockly.Xml.domToWorkspace(Blockly.mainWorkspace, textToDom);
}
}
Код для сохранения композиций:
function saveWorkspace() {
let xml = Blockly.Xml.workspaceToDom(Blockly.mainWorkspace);
let domToPretty = Blockly.Xml.domToPrettyText(xml);
var ranInt = Math.floor(Math.random() * 10);
window.localStorage.setItem("myProgram"+ranInt, domToPretty);
}