Javascript 更改电子窗口背景色而无需重新创建窗口?
我想在电子窗口中动态设置背景色,而不重新创建窗口。不幸的是,仅仅用CSS设置元素的颜色,如Javascript 更改电子窗口背景色而无需重新创建窗口?,javascript,electron,Javascript,Electron,我想在电子窗口中动态设置背景色,而不重新创建窗口。不幸的是,仅仅用CSS设置元素的颜色,如body,是不够的 看来只有 BrowserWindow确实有此功能,但不幸的是它不起作用。有任何已知的替代方法吗?当我直接在浏览器窗口上应用背景色时,它对我有效。 它似乎没有记录,但它(从现在起) const{app,BrowserWindow}=require('electron')) 函数createWindow(){ 让mainWindow=新浏览器窗口({ 透明:正确 }) mainWindow.
body
,是不够的
看来只有
BrowserWindow
确实有此功能,但不幸的是它不起作用。有任何已知的替代方法吗?当我直接在浏览器窗口上应用背景色时,它对我有效。
它似乎没有记录,但它(从现在起)
const{app,BrowserWindow}=require('electron'))
函数createWindow(){
让mainWindow=新浏览器窗口({
透明:正确
})
mainWindow.loadURL(“http://browserify.org//透明背景
mainWindow.setBackgroundColor(“#56cc5b10”)//变成不透明的棕色
}
应用程序打开('ready',createWindow)
更新(2021):也可以在创建窗口时直接设置背景色:mainWindow=newbrowserwindow({backgroundColor:“#RRGGBB”,…})代码>
(谢谢,@carlosrafelgn)
从渲染器进程执行同样的操作似乎确实有问题
但是我注意到,如果你取消对焦,然后对焦窗口,它将开始正常工作
常量{remote}=require('electron')
const mainWindow=remote.getCurrentWindow()
主窗口。setBackgroundColor(“#56cc5b10”)
mainWindow.blur()
mainWindow.focus()
您是否尝试过使用CSS设置
元素的背景色?是的,但正如我提到的,我不能简单地使用CSS设置颜色。它破坏了我试图使用的某个电子特性。哪个特性?如果您需要帮助,您需要提供更多信息。它适用于我的浏览器窗口。setBackgroundColor
(请参阅下面的示例)如果它也不起作用,请告诉我们“它不起作用”的确切方式@Slbox刚刚尝试过,它也不适用于我的渲染器。不过找到了一个解决办法。我把它添加到我的回答中我没有亲自测试过,但我接受了它作为答案。似乎是一个很好的解决办法。非常感谢!对于2021年来到这里的任何人,也可以在创建窗口时直接设置背景色:mainWindow=newbrowserWindow({backgroundColor:#RRGGBB,…})代码>。谢谢添加到我的答案中