记录electron创建透明窗口不生效的解决方式

问题:项目开发需要创建一个透明窗口,在创建窗口实例的时候,设置窗口的transparent属性为true(如下设置),但是并没有使窗口透明。

mainWindow = new BrowserWindow({
    width: 1038,
    height: height,
    transparent: true, // 设置窗口透明
    frame: false, // 要创建无边框窗口
    movable: false, // 窗口是否可以移动
    show: false, // 先不让窗口显示
    modal: true,
    skipTaskbar:true,
    alwaysOnTop: true,
    resizable: false,
    parent: null,
    webPreferences: {
      devTools: false,
      enableRemoteModule:true,
      nodeIntegration: true,
      contextIsolation: false,
      webSecurity: false, // 目的是为了开发环境能正常加载资源
    },
  });

查了别人实现透明窗口的方式,尝试过设置 backgroundColor为透明,opacity为透明(事实上这个属性直接让整个窗口相当于隐藏状态),最后多次尝试下,发现不是窗口设置透明效果没有生效,而是窗口加载的页面不是透明的(在打开窗口的瞬间,窗口背景先是透明的,但是等页面加载好就变成了白色背景,所以得此结论)。

解决:该设置透明的属性设置好,要是出现类似上面情况的,可以考虑把窗口要加载的页面,它的body或者html或者根元素设置background为transparent。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值