大多数情况下,Blockly XML 嵌入在带有id=".."
属性的 HTML 中,以及将这些属性设置为display: none
. 在这种情况下,XML DOM 是使用getElementById
. 您可以在 Blockly 演示中找到许多这种风格的示例。
我首选的解决方案是使用 JavaScript 字符串常量。如果您可以在不使用 Internet Explorer 的情况下解决问题,那么多行模板文字可以让这变得简单:
const myToolbox = `
<xml>
<category name="Logic">
<block type="controls_if" />
<block type="logic_compare" />
</category>
</xml>`;
否则,将其嵌入 JavaScript 需要更多技巧:
const myToolbox =
'<xml>' +
'<category name="Logic">' +
'<block type="controls_if" />' +
'<block type="logic_compare" />' +
'</category>' +
'</xml>';