所有尝试使用Electron的人都可能知道它不支持window.prompt()
,并且永远不会支持,如项目开发人员在以下消息中所述。{{3 }}
由于电子开发人员甚至没有考虑提供此功能,所以我想自己尝试一下。
我做了一些研究。检查诸如“ Custom window.prompt()”,“覆盖默认的提示()javascript”之类的内容根本没有帮助。最相关的文章是有关jQueryUI的自定义模式输入窗口的信息。
由于尚无可用的方法(或者,也许我只是一个完整的Googleklutz [使用Internet搜索引擎(尤其是Google时,难以选择合适的搜索词或难以解释结果页面的人)),我竭尽全力都是我一个人
我为模式(一个简单的div
和一个input
和一个提交按钮)创建了标记。 function prompt(a, b) {...}
正在显示该框,另一个函数(本地)正在监听提交提示的提交按钮,然后设置在父函数中定义的变量(prompt()
,然后是它(父)可以返回该值(通过return
)。我一直很胆小地发现return
的{{1}}是在函数waw触发后立即调用的,所以对于{{1} } => prompt()
始终为真。
我已经考虑过使用const a = prompt("What shall the value of 'a' be?");
。使我的状态只是“考虑”的事情是:a)我以前从未使用过异步; b)我很快就猜出(如果错了,请纠正我)这会暂停整个文档,因此您将无法打开该框,在其中输入任何内容,然后提交。< / p>
上面一段之前的段落中描述的活动是我一年前的尝试(放弃),a,我现在再次面临着同样的问题。现在我可以肯定地说,这已经困扰了我一年。
我不希望打开另一个窗口(例如,通过a === ""
),并提示它(就像香草async function prompt(...) {...}
一样)。为什么?如果用户进入提示,但打开另一个窗口(例如Google搜索要输入的内容),则他们可能会打开我的应用程序,并且提示将保持最小,从而引起混乱,为什么整个应用程序被冻结(可能忘记了他们拥有的提示在某处打开)。如果确实有必要在新窗口中添加它,那么它必须是无框架的,这样它才可以作为我的应用程序DOM的一部分。
任何提示,建议,参考,库,节点模块,或者最终一段代码,都将非常感激!