Electron 如何检测铬/电子何时完成变焦?

Electron 如何检测铬/电子何时完成变焦?,electron,chromium,Electron,Chromium,我在Electron中工作,试图检测Electron何时完成执行Control+0功能,该功能将窗口的缩放恢复到100%。我有一个类似于chrome右上角的3点菜单的菜单,我想在使用control+0时更新缩放编号 然而,从我尝试过的情况来看,如果我只是像在我运行的更新菜单的函数下面那样添加一个键盘事件侦听器,zoom将在electron/chromium完成之前完成 那么,我将如何检测何时完成此操作,以便相应地执行我的函数呢 public onKeydown(event: KeyboardEv

我在Electron中工作,试图检测Electron何时完成执行Control+0功能,该功能将窗口的缩放恢复到100%。我有一个类似于chrome右上角的3点菜单的菜单,我想在使用control+0时更新缩放编号

然而,从我尝试过的情况来看,如果我只是像在我运行的更新菜单的函数下面那样添加一个键盘事件侦听器,zoom将在electron/chromium完成之前完成

那么,我将如何检测何时完成此操作,以便相应地执行我的函数呢

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

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

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

为了检测缩放变化(包括缩放重置),我不得不使用窗口“调整大小”事件,这一事件不仅在修改窗口大小时触发,而且在缩放级别变化时也会触发

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

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

为了检测缩放变化(包括缩放重置),我不得不使用窗口“调整大小”事件,这一事件不仅在修改窗口大小时触发,而且在缩放级别变化时也会触发

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

您是否尝试过其他键盘事件,通常是按键和向上键?如果这足以让您在打开菜单时获得当前的缩放,您可以使用或其relatives@ghybs-问题是无法获得工作正常的Ctrl+0,问题在于,我的事件将在Chromium/Electron执行其内部Ctrl+0之前独立触发event@pergy-问题在于没有获得价值,这是因为在Chromium/Electron执行其内部Ctrl+0功能以将zoom重置为100%后,我无法截获并执行某个函数。@Danielturich我理解你的意思,但你可能还没有意识到这些事件之间的时间差。你是否尝试过其他键盘事件,通常是按键和向上键?如果这足以让您在菜单打开时获得当前缩放,则可以使用或其relatives@ghybs-问题是无法获得工作正常的Ctrl+0,问题在于,我的事件将在Chromium/Electron执行其内部Ctrl+0之前独立触发event@pergy-问题在于没有获得价值,这是因为在Chromium/Electron执行其内部Ctrl+0功能以将缩放重置为100%后,我无法截获并执行某个函数。@Danielturich我理解你的意思,但你可能仍然没有意识到这些事件之间的时间差。除了调整大小外,这似乎不会触发。也许你用的是更高版本的Electron,这是添加的东西?我使用的是1.8.7事实上,我使用的是最新的Electron版本3.0.4。我想这取决于新的Chromium版本66。事实上,我在Electron Quick Start应用程序的克隆上做了一些测试,它在2.0.4和1.8.7中也能工作,但我忘了提到我在macOS上……也许这与macOS有关?因为在Windows 10上,它肯定只有在窗口悲伤地调整大小时才会启动。。。但我还是找不到任何其他关于它的信息:/你可能会认为其他人以前会遇到过这种情况。或者说我不是最擅长用任何一种方法来寻找事物的。除了调整大小之外,这似乎都不会触发。也许你用的是更高版本的Electron,这是添加的东西?我使用的是1.8.7事实上,我使用的是最新的Electron版本3.0.4。我想这取决于新的Chromium版本66。事实上,我在Electron Quick Start应用程序的克隆上做了一些测试,它在2.0.4和1.8.7中也能工作,但我忘了提到我在macOS上……也许这与macOS有关?因为在Windows 10上,它肯定只有在窗口悲伤地调整大小时才会启动。。。但我还是找不到任何其他关于它的信息:/你可能会认为其他人以前会遇到过这种情况。或者我不是最善于发现事物的人。