如何在 ElectronJS 中设置 window name/title?

How do I set the window name/title in ElectronJS?

愚蠢的问题,但我一直在努力尝试更改 Electron window 的名称一段时间,所以希望这里有人可以帮助我。

我正在尝试将其从“Electron”更改为其他任何内容。我可以将所有其他 title/name 更改为我想要的,但无论我尝试什么,它总是显示“Electron”...:(

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title> <!-- Window name isn't this -->
  </head>
  <body>
    <h1>hi</h1>
  </body>
</html>
// main.js
const { app, BrowserWindow } = require('electron')

function createWindow() {
    const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true
        },
        title: 'Foo' // Window name isn't this
    })
    app.setName('Bar') // Window name isn't this
    win.setTitle('ReeeeeBar') // Window name isn't this
    win.loadFile('index.html')
}

app.whenReady().then(createWindow)
// package.json
{
  "name": "foobar-electron-app", // Window name isn't this
  "main": "main.js",
  "dependencies": {
    "electron": "^9.1.2"
  }
}

具体来说,我正在尝试更改此设置:

事实证明,您无法在开发过程中更改它。

当您构建(使用 electron-builder)时,它会将其更改为 name 字段在 package.json.

中的任何内容

实际上,您可以更改该特定名称。但它很老套,没有任何意义 :).

对于 MacOSX,转到 node_modules/electron/dist/Electron.app/Contents/Info.plist 并更改 CFBundleName 的值。

对于打包的应用程序 electron/builder 将查看 package.json 中的 productNamename 字段 - 无需破解。