如何在 electron-vue 中将 window 置于前台
How to bring window into foreground in electron-vue
我想在倒计时结束后将主 BrowserWindow
置于前台。在 App.vue
中调用 electron.BrowserWindow.getFocusedWindow().show()
时,出现错误
Uncaught TypeError: Cannot read property 'getFocusedWindow' of undefined
electron
正在通过 const electron = window.require("electron");
在 App.vue
中导入
为了避免在渲染器进程上一起做这部分,同时以更干净的方式做,你可以尝试将调用 getFocusedWindow().show() 移动到电子端。
通过这样做:
App.vue
let ipcRenderer = window.require("electron").ipcRenderer
ipcRenderer.send("bring-to-foreground");
electron.js
ipcMain.on("bring-to-foreground", (e) => {
electron.BrowserWindow.getFocusedWindow().show();
}
我还认为您应该使用 keep your mainwindow,这样您就不会使用 getFocusedWindow,因为根据文档,如果 window 未获得焦点,它可能 return null首先。像这样:
let mainWindow;
const createWindow = () => {
mainWindow = new BrowserWindow({...})
//rest of the function goes here
}
所以你可以简单地做:
mainwindow.show()
我想在倒计时结束后将主 BrowserWindow
置于前台。在 App.vue
中调用 electron.BrowserWindow.getFocusedWindow().show()
时,出现错误
Uncaught TypeError: Cannot read property 'getFocusedWindow' of undefined
electron
正在通过 const electron = window.require("electron");
在 App.vue
为了避免在渲染器进程上一起做这部分,同时以更干净的方式做,你可以尝试将调用 getFocusedWindow().show() 移动到电子端。 通过这样做:
App.vue
let ipcRenderer = window.require("electron").ipcRenderer
ipcRenderer.send("bring-to-foreground");
electron.js
ipcMain.on("bring-to-foreground", (e) => {
electron.BrowserWindow.getFocusedWindow().show();
}
我还认为您应该使用 keep your mainwindow,这样您就不会使用 getFocusedWindow,因为根据文档,如果 window 未获得焦点,它可能 return null首先。像这样:
let mainWindow;
const createWindow = () => {
mainWindow = new BrowserWindow({...})
//rest of the function goes here
}
所以你可以简单地做:
mainwindow.show()