从TextArea运行JavaScript

时间:2017-03-01 22:43:02

标签: javascript node.js forms algorithm


我必须在Node.js中创建一个执行算法(以js为单位)并使用结果创建图形的应用程序。
我的问题是我不知道如何在我的textarea中执行JavaScript,我没有找到一个可以在node.js中运行javascript代码的插件。

谢谢

3 个答案:

答案 0 :(得分:2)

你可以在大多数JS方言中使用JSON.eval("一些javascript和#34;的字符串),它将在里面运行代码。在这里查看更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval

很明显这是针对学校的,但是作为一般的做法,不推荐使用JSON.eval(),因为它是运行任何人想要的代码的好攻击向量。但是,无论您在何处插入它,它都可以在节点JS中工作,也可以在浏览器的客户端工作。只要它是一个学习练习,它可能就是你需要的,但是不要去找工作并在整个地方使用.eval()。

这是我在developer.mozilla.org上链接的该页面的警告的复制粘贴

  

不要不必要地使用eval!   eval()是一个危险的函数,它执行它以调用者的特权传递的代码。如果您使用可能受恶意方影响的字符串运行eval(),您最终可能会使用您的网页/扩展程序的权限在用户的计算机上运行恶意代码。更重要的是,第三方代码可以看到调用eval()的范围,这可能导致类似Function不易受影响的方式的攻击。<​​/ p>

答案 1 :(得分:1)

你可能会在这里混淆一​​些概念。 Node.js是服务器端javascript,而浏览器中的textarea是客户端javascript。

要解决当前问题,您可以将算法放在客户端中,也可以在服务器端编写某种REST服务,并从客户端调用该服务。

希望有所帮助

答案 2 :(得分:0)

我还发现https://nodejs.org/api/vm.html这是完美的!!