API ActiveXObject
, который вы используете, доступен только в старых версиях Inte rnet Explorer, но не в Chromium (который является движком браузера Electron).
В общем, для запуска собственного исполняемого файла из Electron вы хотите использовать модуль Node.js child_process
. Это должно выглядеть примерно так. Убедитесь, что webPreferences.nodeIntegration
равно true
в параметрах BrowserWindow, чтобы вы могли использовать API-интерфейсы Node в процессе рендеринга.
const { spawn } = require("child_process");
$("form").submit(() => {
const process = spawn("path/to/executable.bat");
});
Обратите внимание, что вам вовсе не нужен файл .bat
.
Если у вас есть nativefier
в качестве зависимости, вы можете получить исполняемый файл из вашего node_modules
Папка и порождение, что напрямую. Например (при условии, что отправка вашей формы содержит URL-адрес, необходимый для запуска Nativefier:
const { spawn } = require("child_process");
$("form").submit((myURL) => {
const process = spawn(`/node_modules/path/to/nativefier/binary ${myURL}`);
});