首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ace-editor中执行用户的代码

如何在ace-editor中执行用户的代码
EN

Stack Overflow用户
提问于 2019-03-01 10:35:17
回答 2查看 1K关注 0票数 1

我正在开发一个应用程序,它允许用户输入JavaScript和超文本标记语言在ace编辑器。布局将如下所示:

希望你明白我想做的事情,当用户单击run按钮时,将执行以下脚本,但我不知道如何打印用户编写的代码的输出。

运行函数代码:

代码语言:javascript
复制
    let { jsVal, htmlVal, cssVal } = this.state; // this gets all three editor values
       var script = document.createElement('script');
       var iframe = document.createElement('iframe');
       var html = `<html><head><style>${cssVal}</style></head><body>${htmlVal} <script>${jsVal}</script></body></html>`;
       iframe.src = 'data:text/html;charset=utf-8,' + encodeURI(html);
       document.body.appendChild(iframe);
       iframe.contentWindow.document.open();
       iframe.contentWindow.document.write(html);
       iframe.contentWindow.document.close();
       iframe.onload = function() {
           var div = iframe.contentWindow.document;
           iframe.contentWindow.document.getElementsByTagName('html')[0]​
        };

iframe.contentWindow.document.getElementsByTagName('html')给了我这个

代码语言:javascript
复制
<html>​<head>​<style>​#editor {
                       background: "#ddd";
                                               }</style>​</head>​<body>​<div id=​"editor">​Thu Feb 28 2019 18:36:07 GMT+0530 (India Standard Time)​</div>​<script>​document.getElementById('editor').innerHTML = Date()​</script>​</body>​</html>

我一直在努力让它在输出容器中执行,任何关于这方面的线索或帮助都会让我很开心。如果你需要更多的细节,我准备提供他们。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2019-03-01 11:38:44

Ace-Editor只是一个编辑器。如果你想执行你的代码,你需要自己实现……

try Vm for execute js code in nodejs

票数 0
EN

Stack Overflow用户

发布于 2019-03-17 18:06:30

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54937169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档