electron 如何防止CtrlShift+和CtrlShift-缩放应用程序内容?

sauutmhj  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(262)

当按下Ctrl Shift +或Ctrl Shift -按钮时,电子应用程序会被缩放。有可能摆脱这些快捷键吗?
更新:我找到了这个代码片段here,它对我很有效

window.onkeydown = function(evt) {
    // disable zooming
    if ((evt.code == "Minus" || evt.code == "Equal") && (evt.ctrlKey || evt.metaKey)) {evt.preventDefault()}
}
gfttwv5a

gfttwv5a1#

您可以更改窗口上输入事件的默认行为。创建窗口时,您可以添加以下内容:

window.webContents.on("before-input-event", (event, input) => {
        // example this is for reloading the page
        if (input.control && input.code === 'KeyR') {
            event.preventDefault();
            return
        }

        // prevent zoom in/out
        if(input.control && ['Equal', 'Minus'].includes(input.code)) {
           event.preventDefault()
           return
        }
})

我没有在检查中包括input.shift,因为放大/缩小也可以只使用ctrl +/-来完成,所以这个检查可以处理这两种情况。
event.preventDefault()正在阻塞默认行为。您还可以添加其他检查来阻止它们的默认行为(按照阻塞reload事件的示例)

相关问题