通过任何方式从浏览器启动客户端编译器

问题描述 投票:0回答:1

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

我们的目标是容纳尽可能多的语言,尽管我们是从 python 开始的。

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

python html compilation cross-browser
1个回答
0
投票

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

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

设置是这样的

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

浏览器将代码片段(在您的情况下,是我的 URL)发送到在本地计算机上运行的 Web 应用程序,侦听某个端口(例如

9999
)。它可以访问本地资源,因此可以实际运行代码,然后将某些内容返回到浏览器,然后浏览器可以呈现它。

在我的例子中,浏览器将一个 JSON 字符串发送到仅包含 URL 的 Web 应用程序。 Web 应用程序获取资源,对其进行处理并将其转换为 Kindle 可以读取的

.mobi
文件,然后将其放入目录中。转换结果(成功/失败)和转换后文件的位置将发送回浏览器,通知您转换已完成。

我不认为你可以编写一个直接访问编译器的插件。它必须与本地应用程序进行通信。对于非技术用户来说,设置很复杂(查看我项目的自述文件),但它有效。

© www.soinside.com 2019 - 2024. All rights reserved.