我有(像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代码来实现这一目的的任何简单方法? (我知道如何通过修改(我的)原始代码来实现这一点,但如果可能的话,我希望避免这种情况)
答案 0 :(得分:0)
不确定你究竟想做什么。
请先阅读有关Browser limitations的Emscripten文档。
您可以使用window.setTimeout
每N毫秒注册一次回调并执行输出textarea 。
如果你想“等待”用户输入,最好控制浏览器主循环,然后点击按钮调用回调,恢复处理(使用文本输入)。