0

我目前正在开发一个基于网络的教育工具,学生可以在其中查看浏览器中的代码示例并在浏览器中编辑代码。我一直在尝试实现一个系统,他们可以通过该系统与客户端编译器交互并在浏览器中运行/调试代码。我做的研究越多,我就越发现浏览器的设计是为了防止这种情况发生,因为这会产生安全问题。我想知道有没有办法在本地运行编译器,即通过扩展或ajax 或其他方法。

尽管我们是从 python 开始的,但我们的目标是尽可能多地适应语言。

我知道我可以运行脚本服务器端并显示输出但是这在应用程序中是有限的(据我所知),特别是关于 GUI。

4

1 回答 1

0

我需要为我的一个项目做这样的事情(虽然不是编译器)。它必须下载并处理给定 URL 的资源,并将其处理成可以在 kindle 上阅读的格式。它与您的不完全相似,因为我有一个触发操作的浏览器插件(而不是网页),甚至不允许“离开”浏览器。

最后,我被迫编写了一个在客户端运行的小应用程序,插件将 URL 提交到该应用程序,然后对其进行处理。

设置是这样的

browser plugin (via ajax) <------> web app on client ----> compiler/etc.

浏览器将代码片段(在您的情况下,是我的 URL)发送到在本地计算机上运行的 Web 应用程序,该应用程序侦听某个端口(例如9999)。它可以访问本地资源,因此可以实际运行代码,然后向浏览器返回一些内容,然后浏览器可以渲染它。

在我的例子中,浏览器将一个 JSON 字符串发送到只包含一个 URL 的 Web 应用程序。Web 应用程序获取资源,对其进行处理并将其转换为.mobikindle 可以读取的文件,然后将其放入目录中。转换的结果(成功/失败)和转换文件的位置被发送回浏览器,通知您它已完成。

我认为您不能编写直接访问编译器的插件。它必须与本地应用程序通信。对于非技术用户而言,设置很复杂(请查看我项目中的 README),但它可以工作。

于 2012-06-22T04:46:25.217 回答