是否可以在Electron电子快速启动JS应用程序中禁用放大/缩小功能?

时间:2016-12-26 22:51:54

标签: javascript node.js electron

这个问题特定于电子快速启动,所以它不是重复的。

我正处于使用https://github.com/electron/electron-quick-start的JS桌面应用程序的第一步,我有代码,我可以在我的mac(hine)上运行应用程序。

我注意到可以在应用程序中输入/输出文本,这是网络常见的功能。桌面应用程序并不常见。

如何禁用该行为?

4 个答案:

答案 0 :(得分:3)

将以下内容添加到您呈现的html文件所源自的JavaScript文件中(请参阅main process vs renderer process)。

var webFrame = require('electron').webFrame;
webFrame.setVisualZoomLevelLimits(1, 1);
webFrame.setLayoutZoomLevelLimits(0, 0);

在您的情况下,它是电子快速启动应用的renderer.js

文档: https://github.com/electron/electron/blob/master/docs/api/web-frame.md#webframesetzoomlevellimitsminimumlevel-maximumlevel

答案 1 :(得分:2)

如果你想这样做,但是在主要流程中(在main.js的情况下),你可以这样做:

let webContents = mainWindow.webContents
webContents.on('did-finish-load', () => {
  webContents.setZoomFactor(1)
  webContents.setVisualZoomLevelLimits(1, 1)
  webContents.setLayoutZoomLevelLimits(0, 0)
})

答案 2 :(得分:0)

似乎将以下内容添加到renderer.js可以完成工作:

var webFrame = require('electron').webFrame;
    webFrame.setVisualZoomLevelLimits(1,1);
require('electron').webFrame.setLayoutZoomLevelLimits(0, 0);

通过鼠标和Ctrl + / Ctrl + - 两者都被禁用。

如果有人有评论或更好的答案我会很感激。

答案 3 :(得分:-1)

不推荐使用setVisualZoomLevelLimits命令。

var app = require('electron')
app.commandLine.appendSwitch('disable-pinch');

通过混合这两个链接找到解决方案:

1-https://github.com/electron/electron/issues/8793#issuecomment-289791853

2-{{​​3}}