В настоящее время я пытаюсь отредактировать значение переменного блока в генераторе JavaScript. < /p>
Функция генерирует пару клавиш RSA. Затем предполагается назначить частные и публичные ключи своим соответствующим переменным блокам в глобальном пространстве блоков (эти переменные блоки называются PrvKey и Pubkey). < /P>
Однако после запуска кода он просто печатает содержимое частных и публичных ключей отдельно; Затем, когда я пытаюсь распечатать содержимое переменных PrvKey и Pubkey, он возвращает «не определен». Или я просто делаю это неправильно? const key_assignment = {
init: function() {
this.appendDummyInput()
.appendField("private key var")
.appendField(new Blockly.FieldVariable("prvKey"), "PRV");
this.appendDummyInput()
.appendField("public key var")
.appendField(new Blockly.FieldVariable("pubKey"), "PUB");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setOutput(true, "String");
this.setTooltip('Assigns generated RSA keys to private and public key variables');
this.setHelpUrl('');
this.setColour(225);
}
};
Blockly.common.defineBlocks({list_to_vars : list_to_vars });
< /code>
javaScript Generator: < /p>
javascript.javascriptGenerator.forBlock['key_assignment'] = function(block) {
const varPrv = Blockly.JavaScript.nameDB_.getName(block.getFieldValue('PRV'), Blockly.Variables.NAME_TYPE);
const varPub = Blockly.JavaScript.nameDB_.getName(block.getFieldValue('PUB'), Blockly.Variables.NAME_TYPE);
const code = `
rsaKeypair = KEYUTIL.generateKeypair("RSA", 1024);
${varPrv} = KEYUTIL.getPEM(rsaKeypair.prvKeyObj, "PKCS8PRV");
${varPub} = KEYUTIL.getPEM(rsaKeypair.pubKeyObj);
`;
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
};
< /code>
inpection: < /p>
window.addEventListener('load', () => {
window.workspace = Blockly.inject('blocklyDiv', {
toolbox: document.getElementById('toolbox'),
scrollbars: true
});
});
< /code>
выполнение: < /p>
function runCode() {
try {
const code = Blockly.JavaScript.workspaceToCode(window.workspace);
const result = eval(code);
document.getElementById('output').textContent = "Result:\n" + result;
} catch (e) {
document.getElementById('output').textContent = "Error:\n" + e;
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... rator-code
Можно ли отредактировать переменный блок в коде генератора JavaScript? ⇐ Javascript
Форум по Javascript
1750787463
Anonymous
В настоящее время я пытаюсь отредактировать значение переменного блока в генераторе JavaScript. < /p>
Функция генерирует пару клавиш RSA. Затем предполагается назначить частные и публичные ключи своим соответствующим переменным блокам в глобальном пространстве блоков (эти переменные блоки называются PrvKey и Pubkey). < /P>
Однако после запуска кода он просто печатает содержимое частных и публичных ключей отдельно; Затем, когда я пытаюсь распечатать содержимое переменных PrvKey и Pubkey, он возвращает «не определен». Или я просто делаю это неправильно? const key_assignment = {
init: function() {
this.appendDummyInput()
.appendField("private key var")
.appendField(new Blockly.FieldVariable("prvKey"), "PRV");
this.appendDummyInput()
.appendField("public key var")
.appendField(new Blockly.FieldVariable("pubKey"), "PUB");
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setOutput(true, "String");
this.setTooltip('Assigns generated RSA keys to private and public key variables');
this.setHelpUrl('');
this.setColour(225);
}
};
Blockly.common.defineBlocks({list_to_vars : list_to_vars });
< /code>
javaScript Generator: < /p>
javascript.javascriptGenerator.forBlock['key_assignment'] = function(block) {
const varPrv = Blockly.JavaScript.nameDB_.getName(block.getFieldValue('PRV'), Blockly.Variables.NAME_TYPE);
const varPub = Blockly.JavaScript.nameDB_.getName(block.getFieldValue('PUB'), Blockly.Variables.NAME_TYPE);
const code = `
rsaKeypair = KEYUTIL.generateKeypair("RSA", 1024);
${varPrv} = KEYUTIL.getPEM(rsaKeypair.prvKeyObj, "PKCS8PRV");
${varPub} = KEYUTIL.getPEM(rsaKeypair.pubKeyObj);
`;
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
};
< /code>
inpection: < /p>
window.addEventListener('load', () => {
window.workspace = Blockly.inject('blocklyDiv', {
toolbox: document.getElementById('toolbox'),
scrollbars: true
});
});
< /code>
выполнение: < /p>
function runCode() {
try {
const code = Blockly.JavaScript.workspaceToCode(window.workspace);
const result = eval(code);
document.getElementById('output').textContent = "Result:\n" + result;
} catch (e) {
document.getElementById('output').textContent = "Error:\n" + e;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79678008/is-it-possible-to-edit-a-variable-block-within-the-javascript-generator-code[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия