小编Blo*_*ner的帖子

使用 Electron 的用户输入 JavaScript - Window.Prompt() 的替代方案

首先,在在这里深入研究之前,我已经问过这个问题的更简单版本。但是,当我搜索时,事情变得更加复杂,我可以再描述一下。

我正在尝试使用 Google 的 Blockly 创建一个电子应用程序。重命名 Blockly 域中的变量会在用户浏览器中打开一个提示,要求输入新变量的名称,正如您在它自己的网站上看到的那样(单击“计数”并选择“重命名变量...”)。

问题是:Electron 不支持window.prompt(),如果我让代码保持原样,它也不会做任何事情,因此,经过一番搜索,我了解到您可以覆盖Blockly.prompt以使用自己的代码。我的猜测:所以你可以使用替代方案window.prompt()

我安装electron-prompt并尝试使用它来获取用户在新提示窗口中的输入,以将其发送回 Blockly 处理重命名的核心函数。这是我正在尝试的:

var prompt = require('electron-prompt');
var setPrompt = function()
{ 
    return prompt
    ({
        title: 'Renaming',
        label: 'Renaming variable to:',
        type: 'input'
    })
};

var getPrompt = function()
{
    return setPrompt().then(function(value){return value})
}

var promptReturn = function()
{
    return getPrompt().then(function(value){return value})
}

Blockly.prompt = function(message, defaultValue, callback)
{
    callback(promptReturn().then(function(value){return value}));
};
Run Code Online (Sandbox Code Playgroud)

编辑:从源代码electron-prompt在这里,并通过观察它,我试图从适应信息 …

javascript blockly electron

2
推荐指数
1
解决办法
1533
查看次数

标签 统计

blockly ×1

electron ×1

javascript ×1