Electron: BrowserWindow min-width 和 min-height 选项不起作用,因为 JavaScript 名称无效

创建于 2015-05-06  ·  14评论  ·  资料来源: electron/electron

根据文档:

https://github.com/atom/electron/blob/master/docs/api/browser-window.md

Min width 和 height 可以作为 min-width 和 min-height 在选项中传递给 BrowserWindow,但这些选项不起作用,因为它们是无效的 javascript 名称:

https://mothereff.in/js-variables#min -width

setMinimumSize() 虽然按预期工作。

最有用的评论

@sbruchmann ,您提供的代码不起作用。 但这对我有用

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

所有14条评论

你好@hzeroo

如果您的密钥包含无效字符,您必须将它们放在引号中:

new BrowserWindow({
  'min-height': 300,
  'min-width': 300
})

可以关闭,不知道^^。

@sbruchmann ,您提供的代码不起作用。 但这对我有用

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

@bansalvks我提供的代码 _anymore_ 不起作用。 在以前的版本中,这些键必须用破折号编写,但它已被弃用,以支持驼峰命名。

@bansalvks够了:

new BrowserWindow({
  minHeight: 300,
  minWidth: 300
})

设置 minHeight, minWidth 对我不起作用。 我必须设置初始窗口大小,然后设置最小大小:

new BrowserWindow({
  height: 300,
  width: 300,
  minHeight: 300,
  minWidth: 300
})

我想补充一点minWidthminHeight都应该被指定。 我需要窗口保持在最小宽度之上,但我并不关心最小高度..它不是那样工作的。 所以总是定义两者。

还要确保不要放小数,我在那里放了小数,它把它扔掉了。 如果行不通,试图精确并不总是好的。 近似而不是小数。

这对我不起作用

new BrowserWindow({
      width: 800, height: 600,
      'minWidth':400,// even 'min-width' or minWidth
      frame:false
})

只有在我将最小高度设置为:

new BrowserWindow({
  width: 800, height: 600,
  minHeight: 300,
  minWidth: 300,
  frame:false
})

就我而言,我尝试将窗口大小设置为相对于屏幕大小。
确保你传递整数

const screenElectron = electron.screen;
const display = screenElectron.getPrimaryDisplay();
const dimensions = display.workAreaSize;
mainWindow = new BrowserWindow({
    width: parseInt(dimensions.width * 0.8),
    height: parseInt(dimensions.height * 0.8),
    minWidth: parseInt(dimensions.width * 0.8),
    minHeight: parseInt(dimensions.height * 0.8),
    maxWidth: dimensions.width,
    maxHeight: dimensions.height,
    icon: `${__dirname}/assets/icon.ico`
  });

以上所有都不适用于 Windows 10,在电子 7 和 8 上测试过。 BrowserWindow 总是可以进一步最小化 30-40 像素。

@Celebes ,这在 Windows 10 上对我9.0.2

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

@Celebes ,这在 Windows 10 上对我9.0.2

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

您的设置有效,但widthheight似乎没有必要。

我用的是 win10 和电子 9.1.0。

@Celebes ,这在 Windows 10 上对我9.0.2

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

您的设置有效,但widthheight似乎没有必要。

我用的是 win10 和电子 9.1.0。

无论如何,将初始宽度设置为小于 minwidth 意味着什么?

此页面是否有帮助?
0 / 5 - 0 等级