相关疑难解决方法(0)

电子 - 如何知道渲染器窗口何时准备就绪

在我的主要过程中,我创建了一个渲染器窗口:

var mainWindow = new BrowserWindow({
    height: 600,
    width: 800,
    x: 0,
    y: 0,
    frame: false,
    resizable: true
});
mainWindow.openDevTools();
mainWindow.loadURL('file://' + __dirname + '/renderer/index.html');
Run Code Online (Sandbox Code Playgroud)

然后我想以某种方式与它沟通:

mainWindow.webContents.send('message', 'hello world');
Run Code Online (Sandbox Code Playgroud)

但是,主窗口不会收到此消息,因为在我尝试发送它时未完全创建它.

我通过将后一个代码包装在setTimeout()中暂时解决了这个问题,但这绝对不是解决竞争条件的正确方法.

主窗口准备就绪时是否有回调?我尝试了文档中提到的"准备展示"活动,但它没有用.

electron

15
推荐指数
5
解决办法
2万
查看次数

从IpcMain发送同步消息到IpcRenderer - Electron

电子中,可以通过IpcRenderer向IpcMain发送同步消息ipcRenderer.sendSync('synchronous-message', 'ping').

也可以使用从IpcMain向IpcRenderer 发送异步消息window.webContents.send('ping', 'whoooooooh!')

但有没有办法从IpcMain 发送同步消息到IpcRenderer?

node.js electron

11
推荐指数
3
解决办法
1万
查看次数

IPC通信在电子和窗口之间不起作用

我正在尝试编写基于电子样板的第一个电子应用程序。我正在尝试将一个简单的消息从Electron主进程发送到我的窗口中,但是似乎该消息没有得到发送。

我已经介绍过的主要代码如下

background.js(主要电子过程)

// Window setup
app.on("ready", () => {
  mainWindow = new BrowserWindow({
  width: 1000,
  height: 300,
  frame: false,
  resizable: false,
  transparent: true,    
  });  
  mainWindow.setIgnoreMouseEvents(true);
  mainWindow.hide();

  mainWindow.loadURL(
    url.format({
      pathname: path.join(__dirname, "app.html"),
      protocol: "file:",
      slashes: true
    })
  );

  const ret = globalShortcut.register(getKeyboardShortCut(), () => {
    mainWindow.isVisible ? mainWindow.hide() :  mainWindow.show();
  })

  if(isDev()){
    mainWindow.openDevTools();
    mainWindow.setIgnoreMouseEvents(false);
    console.log("======== DEV ==========");
    mainWindow.show();
    mainWindow.webContents.send('test','This is a test');
  }
});
Run Code Online (Sandbox Code Playgroud)

app.js(将窗口映射到mainWindow)

import { ipcRenderer } from "electron";

ipcRenderer.on('test', (event, text) => { console.log("Received test 
message:", text)}); …
Run Code Online (Sandbox Code Playgroud)

electron

3
推荐指数
1
解决办法
3920
查看次数

标签 统计

electron ×3

node.js ×1