Emscripten:用控制台替换提示(某种)

时间:2013-08-18 23:08:42

标签: javascript html emscripten

我有(像python shell这样的交互式)C ++控制台应用程序并且正在使用Emscripten(从C ++到JS的反编译)。一切都很好,但我希望JS的焦点窃取提示被更少的东西取代......古怪。

我尝试过:我添加了一个输入textarea和一个生成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)生成的JS代码来实现这一目的的任何简单方法? (我知道如何通过修改(我的)原始代码来实现这一点,但如果可能的话,我希望避免这种情况)

1 个答案:

答案 0 :(得分:0)

不确定你究竟想做什么。

请先阅读有关Browser limitations的Emscripten文档。

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

如果你想“等待”用户输入,最好控制浏览器主循环,然后点击按钮调用回调,恢复处理(使用文本输入)。