#javascript #html #ace-editor #brython
Вопрос:
Пожалуйста, проверьте изображения или ссылки на изображения моей проблемы!
Когда я пишу свой код в редакторе Ace подобным образом, тогда Brython дает правильный результат!
Я также попытался обернуть текст, но тогда также Брайтон выдает ошибку!
Мои конфигурации Brython и Ace следующие!
function run() {
const console = document.getElementById("console");
const runner = new BrythonRunner({
stdout: {
write(content) {
console.innerHTML = content;
console.scrollTop = console.scrollHeight;
},
flush() {}
},
stderr: {
write(content) {
console.innerHTML = content;
console.scrollTop = console.scrollHeight;
},
flush() {}
},
stdin: {
async readline() {
console.innerHTML = "n";
console.scrollTop = console.scrollHeight;
var userInput = prompt();
return userInput;
},
flush() {}
}
});
var code = editor.getValue();
runner.runCode(code)
}
function run_init() {
if (document.getElementById("console") != '') {
document.getElementById("console").innerHTML = '';
run();
console.log(document.getElementById('editor').innerText);
} else {
run()
}
}
<button onclick="run()">run</button>
<div class='editor_class' id='editor'>print('Hello World')</div>
<div class='compiler_class'><textarea id='console' readonly></textarea></div>
<script src="https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://raw.githack.com/pythonpad/brython-runner/master/lib/brython-runner.bundle.js" type="text/javascript" charset="utf-8"></script>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/vibrant_ink");
editor.getSession().setMode("ace/mode/python");
editor.setFontSize("16px");
editor.container.style.height = "100px"
editor.setOptions({
enableLiveAutocompletion: true,
copyWithEmptySelection: true,
showGutter: true,
useWrapMode: false, // wrap text to view
indentedSoftWrap: false,
});
</script>
Ответ №1:
Ваша ошибка заключалась в использовании внутреннего текста в контейнере редактора вместо editor.getValue();
того , чтобы я обновил фрагмент вашего кода, и теперь он работает.
Комментарии:
1. Спасибо, Вы Решили Мою Самую Большую Проблему!