控制渲染进程样式
- 1、通过css控制
- 2、BrowserWindow配置项
- transparent: true
- 设置透明
- frame:false
- 设置无框、无标题栏
- frame用于设置窗口外壳
- transparent: true
- 3、BrowserWindow方法,内置了操作窗口的样式方法
- win.setAspectRatio 控制窗口比例
- win.setSize 控制窗口大小
- .....
使用css控制拖拽
默认情况下, 无边框窗口是不可拖拽的。 应用程序需要在 CSS 中指定 -webkit-app-region: drag
- 需在
BrowserWindow的构造中将frame参数设置为false, 设置为无框窗口,才能让body拖动- 设置了frame表示窗口为无框、无标题栏,无法使用标题栏来拖动,只能通过body
- 注意有些组件需要设置不能拖动,否则原有的一些事件无法触发
// js
const win = new BrowserWindow({ frame: false })
- css控制
body {
-webkit-app-region: drag; // 使该区域能拖拽
}
// 注意有些组件需要设置不能拖动,否则原有的一些事件无法触发
textarea,button {
-webkit-app-region: no-drag;
}
body {
width: 100vw;
height: 100vh;
}
渲染进程使用Node模块
Electron为了安全性的考虑,是渲染子进程不能使用node.js模块的,如果要在渲染进程中使用node.js模块,需要在创建主进程时进行设置
- 1、配置webPreferences的 nodeIntegration设置为true, 【启用node模块】
- 2、设置contextIsolation: false 【控制渲染进程 是否为沙箱模式】
- 控制渲染进程中是否启用沙箱模式。如果设置为 true,则渲染进程中的 JavaScript 代码将运行