我想在电子窗口中动态设置背景颜色,而无需重新创建窗口。出于我的目的,不幸的是,仅使用CSS设置body
之类的元素的颜色是不够的。
似乎只有BrowserView
has a setBackgroundColor
function according to the documentation.
BrowserWindow
确实具有该功能,但不幸的是它不起作用。有任何已知的替代方法吗?
答案 0 :(得分:1)
直接在BrowserWindow
上应用背景色时,它对我有用。
它似乎没有记录,但exists(从0.34.1起)
const { app, BrowserWindow } = require('electron')
function createWindow () {
let mainWindow = new BrowserWindow({
transparent: true
})
mainWindow.loadURL("http://browserify.org") // transparent background
mainWindow.setBackgroundColor('#56cc5b10') // turns opaque brown
}
app.on('ready', createWindow)
在渲染器过程中执行相同的操作似乎确实很麻烦。
但是我注意到,如果您取消聚焦然后再聚焦窗口,它将开始正常工作。
<script>
const { remote } = require('electron')
const mainWindow = remote.getCurrentWindow()
mainWindow.setBackgroundColor('#56cc5b10')
mainWindow.blur()
mainWindow.focus()
</script>