2

我有(交互式 - 像 python shell)C++ 控制台应用程序并开始使用 Emscripten(从 C++ 转编译为 JS)。一切都很好,但我希望将 JS 的焦点窃取提示替换为不那么……古怪的东西。

我尝试过的:我添加了一个输入文本区域和一个按钮来生成 html,并用一个 while 循环替换了提示调用行(循环直到用户按下按钮)。这并没有很好地工作,空循环冻结了浏览器(这可能是预期的,但 JS 中没有睡眠功能)。

所以,简而言之,我想要的是这样的布局:

output textarea / output textarea / output textarea / output textarea
output textarea / output textarea / output textarea / output textarea
output textarea / output textarea / output textarea / output textarea
output textarea / output textarea / output textarea / output textarea

input textarea <ok button>

和行为:

while (1)
  let program work until input requested
  wait for user to clik on the <ok button> above

通过修改(emcc's)生成的JS代码来实现这一点的任何简单方法?(我知道如何通过修改(我的)原始代码来实现这一点,但如果可能的话,我想避免这种情况)

4

1 回答 1

0

不太确定您实际上要做什么。

不过,请先阅读有关浏览器限制的 Emscripten 文档。

您可以使用window.setTimeout每 N 毫秒注册一个回调并执行输出 textarea

如果您想“等待”用户输入,最好将控制权交给浏览器主循环并在按钮单击时调用回调,该回调会恢复处理(使用文本输入)。

于 2013-08-19T18:14:51.237 回答