如何检测铬/电子何时完成缩放?

时间:2018-10-09 18:25:05

标签: electron chromium

我正在Electron中工作,试图检测Electron何时执行Control + 0功能,该功能会将窗口的缩放比例恢复到100%。我有一个菜单,例如chrome右上角的3点菜单,我想在使用Control + 0时更新缩放倍数。

但是,根据我的尝试,我已经收集到,如果像我在该功能下面所做的那样添加一个键盘事件监听器,我将运行更新菜单的缩放,这将在电子/铬处理完成之前完成。

那么我将如何检测何时完成操作以便相应地执行我的功能?

public onKeydown(event: KeyboardEvent) {
    const key = event.key
    const control = event.ctrlKey

    if (control === true && key === '0') {
      this.updateCurrentZoom()
    }
  }

1 个答案:

答案 0 :(得分:1)

我最近在我的Electron应用程序的窗口标题中添加了一个后缀字符串,用于显示当前缩放系数。

为了检测缩放变化(包括缩放重置),我不得不使用窗口“调整大小”事件,令人惊讶的是,该事件不仅在修改窗口大小时触发,而且在缩放级别更改时触发!

// Renderer process
const { webFrame } = require ('electron');
window.addEventListener
(
    'resize',
    (event) =>
    {
        // Returns 1.0 for 100%
        let zoomFactor = webFrame.getZoomFactor ();
        updateCurrentZoom (zoomFactor);
    }
);