Node.js 在electron(从外部API)中调用prompt()不起作用
我正在使用电子内部的编辑器。在编辑器中按ctrl+l时,ace将调用Node.js 在electron(从外部API)中调用prompt()不起作用,node.js,ace-editor,electron,Node.js,Ace Editor,Electron,我正在使用电子内部的编辑器。在编辑器中按ctrl+l时,ace将调用prompt()。但Electron不支持prompt(),因此该功能不起作用 大多数GUI工具包中没有本机提示对话框,因此 在AtomShell中实现提示符需要编写提示符 在所有平台上从头开始对话。由于很少使用提示, 我认为它不值得做所有的工作,而且很容易做到 为此,请使用web实现的解决方案 所以我要结束这件事,因为这件事不会解决 现在我已经通过扩展ace解决了这个问题,但是如果还有另一个外部模块调用prompt(),我将
prompt()
。但Electron不支持prompt()
,因此该功能不起作用
大多数GUI工具包中没有本机提示对话框,因此
在AtomShell中实现提示符需要编写提示符
在所有平台上从头开始对话。由于很少使用提示,
我认为它不值得做所有的工作,而且很容易做到
为此,请使用web实现的解决方案
所以我要结束这件事,因为这件事不会解决
现在我已经通过扩展ace解决了这个问题,但是如果还有另一个外部模块调用prompt()
,我将不得不再次执行类似的操作。下面的代码绑定到ctrl+l
,然后将prompt()
替换为(另一个依赖项),然后调用gotoLine()
:
editor.commands.addCommand({
名称:“替换”,
bindKey:{
赢:“Ctrl-l”,
mac:“命令-l”
},
执行:函数(编辑器){
vex.dialog.open({/************提示符()**********
消息:“输入您的行号:”,
按钮:[
$.extend({},vex.dialog.buttons.YES{
文本:“转到行”
})
],
输入:“\n”,
回调:函数(数据){
如果(数据){
编辑:gotoLine(data.line)
编辑:focus()
}
}
})
}
})
理想情况下,我只需实例化另一个模块(只添加一行),该模块将提示符作为一个在electron内部工作的同步函数来实现。我想知道是否已经有了这个模块?试试smalltalk,它是一个基于承诺的警报、确认和提示解决方案:我不明白你在问什么。您在将ACE api集成到您的electron应用程序中时遇到问题吗?如果是,具体的问题是什么?嗨,乔希,谢谢你看这个问题。我试图改进我的问题。我希望现在能更好地理解它,因为我的问题不是很清楚。
editor.commands.addCommand({
name: "replace",
bindKey: {
win: "Ctrl-l",
mac: "Command-l"
},
exec: function(editor) {
vex.dialog.open({ // ********** prompt() **********
message: 'Enter your line number:',
buttons: [
$.extend({}, vex.dialog.buttons.YES, {
text: 'goto line'
})
],
input: "<input name=\"line\" type=\"text\" placeholder=\"line\" required />\n",
callback: function(data) {
if (data) {
editor.gotoLine(data.line)
editor.focus()
}
}
})
}
})