电子自定义“ window.prompt()”(由于不支持提示,因此自定义)

时间:2018-09-22 18:51:49

标签: javascript node.js dialog electron prompt

所有尝试使用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的一部分。

任何提示,建议,参考,库,节点模块,或者最终一段代码,都将非常感激!

0 个答案:

没有答案