窗口透明时,ElectronJS没有阴影

时间:2020-03-03 12:50:08

标签: css reactjs electron

我是ElectronJs的新手,我终于想出了如何弄圆角。

但是,现在我可以正常工作了,我注意到我丢下了窗户上的阴影,为什么

下面您可以找到整个电子特定代码的main.js文件。

const electron = require("electron");
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

const path = require("path");
const isDev = require("electron-is-dev");

let mainWindow;

function createWindow() {
  mainWindow = new BrowserWindow({
    width: 900,
    height: 680,
    frame: false,
    transparent: true,
    hasShadow: true
  });
  mainWindow.loadURL(
    isDev
      ? "http://localhost:3000"
      : `file://${path.join(__dirname, "../build/index.html")}`
  );
  if (isDev) {
    // Open the DevTools.
    //BrowserWindow.addDevToolsExtension('<location to your react chrome extension>');
    mainWindow.webContents.openDevTools();
  }
  mainWindow.on("closed", () => (mainWindow = null));
}

app.on("ready", () => {
  createWindow();
});

app.on("window-all-closed", () => {
  if (process.platform !== "darwin") {
    app.quit();
  }
});

app.on("activate", () => {
  if (mainWindow === null) {
    createWindow();
  }
});

});

1 个答案:

答案 0 :(得分:0)

因此,根据他们的文档,这是ElectronJS的已知限制,这是因为您设置了“ transparent = true”:

“在Mac上,本机窗口阴影将不会显示在透明窗口上。”

https://www.electronjs.org/docs/api/frameless-window#limitations