electron实现仿pc登录和首页窗口尺寸不同的效果

1.在background.js主进程中先设置登录窗口的大小

2.创建一个新的js文件,将ipcRenderer引入

const { ipcRenderer } = window.require("electron");
  module.exports = { ipcRenderer };

这是将会报错,如下图 所示:

解决方案 :
(1)npm install --save is-electron
(2)在新建的js文件中引入判断条件

const isElectron = require("is-electron");
if (isElectron()) {
    const { ipcRenderer } = window.require("electron");
  module.exports = { ipcRenderer };
}

3.在登录页面,引入ipcRenderer;登录按钮监听点击事件,进行发送命令

if (isElectron()) {
            ipcRenderer.send("setWin", {
              width: 820,
              height: 640,
            });
          }

4.background.js文件中使用ipcMain进行监听发送过来的数据,新建窗口

import {ipcMain} from "electron";
ipcMain.on("setWin", (event, res) => {
    let win = createdMainWindow(res);})
function createdMainWindow(res) {
    let mainWindow = new BrowserWindow({
        width: res.width,
        height: res.height,
        minWidth: 800,
        minHeight: 600,
        resizable: true,
        maximizable: true,
        minimizable: true,
        webPreferences: {
            scrollBounce: false,
            nativeWindowOpen: true,
            nodeIntegration: true,
            contextIsolation: false,
            webviewTag: true,
        },
        frame: false,
        backgroundColor: "#100000000",
    });
    //mainWindow.webContents.openDevTools();
    mainWindow.removeMenu();
    mainWindow.loadURL("http://localhost:8081/#/home");
    return mainWindow;
}

5.这里有一个注意点,因为是新建了一个窗口,所以需要把原先的窗口关闭,也是使用同样的方法.

(1)ipcRenderer发送关闭命令 
ipcRenderer.send("close") 
(2)ipcMain监听关闭命令
ipcMain.on("close",()=>{win.close()}) //win是要关闭的登录窗口的名称

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值