Как решить проблему Брайтона, выдав ошибку для значения кода, которое он получил от редактора Ace

#javascript #html #ace-editor #brython

Вопрос:

Пожалуйста, проверьте изображения или ссылки на изображения моей проблемы!

Когда я пишу свой код в редакторе Ace подобным образом, тогда Brython дает правильный результат!

Когда я расширяю свой код или div изменяет размер и скрывает код, как в этом случае, » pri » печати скрыт из-за расширения кода, это выдает ошибку

Я также попытался обернуть текст, но тогда также Брайтон выдает ошибку!

Мои конфигурации 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. Спасибо, Вы Решили Мою Самую Большую Проблему!