Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改电子窗口背景色而无需重新创建窗口?_Javascript_Electron - Fatal编程技术网

Javascript 更改电子窗口背景色而无需重新创建窗口?

Javascript 更改电子窗口背景色而无需重新创建窗口?,javascript,electron,Javascript,Electron,我想在电子窗口中动态设置背景色,而不重新创建窗口。不幸的是,仅仅用CSS设置元素的颜色,如body,是不够的 看来只有 BrowserWindow确实有此功能,但不幸的是它不起作用。有任何已知的替代方法吗?当我直接在浏览器窗口上应用背景色时,它对我有效。 它似乎没有记录,但它(从现在起) const{app,BrowserWindow}=require('electron')) 函数createWindow(){ 让mainWindow=新浏览器窗口({ 透明:正确 }) mainWindow.

我想在电子窗口中动态设置背景色,而不重新创建窗口。不幸的是,仅仅用CSS设置元素的颜色,如
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,…})。谢谢添加到我的答案中