Электрон: события типа «кнопка и перетаскивание» не работают - PullRequest
0 голосов
/ 01 мая 2019

У меня есть приложение, созданное с помощью Electron, и оно отлично работает в моем старом ноутбуке с Win7.

Теперь я клонировал код с помощью git в моем новом ноутбуке win10, установил node.js и сделал «npm install». Когда я пытаюсь выполнить его с помощью «npm start», приложение открывается, но ничего не работает, ни кнопка, ни область перетаскивания, которая существует в моем приложении.

Любопытно, что когда я выполняю исполняемый файл, сделанный в старой записной книжке, все функции работают отлично. Но сейчас мне нужно кое-что изменить в коде, так что это не решение для меня.

Кто-то может мне помочь? Может быть, это проблема установки? Я что-то упустил?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Я нашел проблему. Когда я клонировал код в новой записной книжке, он загрузил Electron версии 5.0.0 с npm, и версия, которая работает с моим приложением, - 4.1.0. Поэтому я исправил версию Electron в package.json и работает нормально.

0 голосов
/ 01 мая 2019

Я полагаю, основываясь на вашем вопросе, что вы создали безрамное окно, то есть вы установили frame в false в настройках BrowserWindow, что-то вроде этого:

const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600, frame: false })
win.show()

Если вы сделали это, то должны установить перетаскиваемый регион следующим образом:

.titlebar {
  -webkit-user-select: none;
  -webkit-app-region: drag;
}

Теперь, чтобы ваши кнопки работали в перетаскиваемой области, вам нужно установить кнопки как не перетаскиваемые, как это:

button {
  -webkit-app-region: no-drag;
}

Надеюсь, это поможет, и дайте мне знать, если у вас возникнут какие-либо проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...