【发布时间】:2020-08-11 17:47:46
【问题描述】:
我在一个项目中使用 Ace Editor,我想知道如何运行用户输入到编辑器中的代码。我在想我可以使用这样的东西:
var editor = ace.edit("editor");
editor.setTheme("ace/theme/chaos");
editor.session.setMode("ace/mode/javascript");
function runProgram() {
var code = editor.getValue();
var display = document.getElementById("display");
try {
var result = eval(code);
display.innerHTML = result;
} catch(e) {
alert('Error' + e);
}
}
但出于安全考虑,我不确定是否使用 eval()。我希望找到某种方法来安全地执行和显示用户代码。请注意,我是 javascript 的初学者。
【问题讨论】:
-
您应该使用后端语言在 POST 请求中发送此代码,并使用它们的函数以后端语言执行它并返回执行的响应。这就是它的工作原理。这样做也更安全。
-
谢谢,我试试看。
标签: javascript ace-editor