- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用自定义 Electron 标题栏:https://github.com/AlexTorresSk/custom-electron-titlebar#readme .当我放入渲染器进程时:
import customTitlebar from 'custom-electron-titlebar';
_getTitleBar() {
return new customTitlebar.Titlebar({
backgroundColor: customTitlebar.Color.fromHex('#333'),
});
}
我收到错误
require is not defined
main.ts
:
import customTitlebar from 'custom-electron-titlebar'
ipcMain.on("customTitlebar-from-A", (event, args) => {
let titlebar = new customTitlebar.Titlebar({
backgroundColor: customTitlebar.Color.fromHex('#333'),
});
WindowTypeA.webContents.send("customTitlebar-to-A", { titlebar });
});
我收到错误:
navigator is not defined
.
require is not defined
,如何将 customTitlebar 保留在渲染器进程中?
WindowTypeA = new BrowserWindow({
width: 800,
height: 600,
titleBarStyle: "hidden",
webPreferences: {
nodeIntegration: false,
enableRemoteModule: false,
contextIsolation: true,
nodeIntegrationInWorker: false,
nodeIntegrationInSubFrames: false,
webSecurity: true,
webviewTag: false,
preload: path.join(__dirname, "./preload/preload.js"), /* eng-disable PRELOAD_JS_CHECK */
}
出于安全原因,我必须保留
nodeIntegration:false
和
contextIsolation: true
最佳答案
您需要在渲染器进程中创建自定义 Electron 标题栏,因为它需要更改 BrowserWindow 显示的页面内容,它将添加一个行为类似于原生标题栏的自定义标题栏。
出于安全原因,建议您禁用 nodeIntegration
,您应该在预加载脚本中完成所有这些操作。
请注意,custom-electron-titlebar 还需要访问远程模块,您可以通过设置 enableRemoteModule
来提供该模块。至true
在 BrowserWindow 的 webPreferences 中。
如果您只看一下正在使用的自定义 Electron 标题栏的工作示例,对您来说可能会更容易:https://github.com/timlg07/custom-electron-titlebar-minimal-example
关于electron - nodeIntegration :false 时的自定义 Electron 标题栏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66475007/
我正在尝试在附加到 html 文件的 js 文件中使用 require 指令。但是,我收到该文件的要求未定义的错误消息。我的理解是在 5.0 之后的较新版本的 Electron 中,默认情况下禁用了
在博客发布后的 repo 之后,我花了大约一个小时来阅读要点,但似乎无法弄清楚该如何做。 我有一个BrowserWindow实例,它使用nodeIntegration: false加载一个URL(由我
因此,我遵循了一些指南来设置 Webpack、Electron 和 React 来制作桌面应用程序。完成设置后,我开始工作,了解到我需要从 main 和 renderer 请求 IPC 机制才能进行通
我正在尝试使用自定义 Electron 标题栏:https://github.com/AlexTorresSk/custom-electron-titlebar#readme .当我放入渲染器进程时:
在 Electron 的 docs它允许我们启用或禁用nodeIntegration(默认情况下禁用)。禁用后,它会禁用整个应用程序使用 Node.js 功能还是仅禁用某个进程(主进程、渲染器进程和自
在关闭 nodeIntegration 的情况下创建自定义窗口控件(如关闭、最小/最大和恢复)时,我被卡住了。我在渲染器的本地 html 文件中创建了按钮 main.js mainWindow = n
使用最新版本的Electron时出现此错误。我在主javascript文件中将nodeIntegration设置为true。我已经从工作的Electron应用程序中复制并粘贴了此代码,但是它似乎不适用
我正在关注 Electron Js 文档:https://electronjs.org/docs/tutorial/first-app 它在那里给出, let win = new BrowserW
我花了大约一个小时阅读一篇博文后的 repo 要点,但似乎无法弄清楚如何做到这一点。 我有一个 BrowserWindow 实例加载一个 URL(我控制),带有 nodeIntegration: fa
我在制作 Electron + Create React App 应用时遇到了一些问题。这是一个用于成本计算的离线应用程序,我需要保留一些用户设置,为此我使用了 https://github.com/
我是一名优秀的程序员,十分优秀!