приложение
Управляйте жизненным циклом событий вашего приложения.
Процесс: Главный
Следующий пример демонстрирует, как выйти из приложения, когда закрыто последнее окно:
const { app } = require('electron')
app.on('window-all-closed', () => {
app.quit()
})
События
Объект app испускает следующие события:
Событие: 'will-finish-launching'
Используется при завершении базовой загрузки приложения. В Windows и Linux, событие will-finish-launching эквивалентно событию ready; в macOS это событие представляет уведомление applicationWillFinishLaunching о NSApplication. Обычно здесь нужно установить обработчики для событий open-file и open-url, запустить отчётчик сбоев и автоматическое обновление.
В большинстве случаев, все действия должны выполняться в обработчике события ready.
Событие: 'ready'
Возвращает:
-
eventСобытие -
launchInfoRecord<string, any> | Ответ на уведомление macOS
Используется один раз, когда Electron завершил инициализацию. В macOS, launchInfo содержит userInfo NSUserNotification или информацию из UNNotificationResponse, если приложение было запущено из Центра уведомлений. Вы также можете вызвать app.isReady(), чтобы проверить, было ли это событие уже вызвано, и app.whenReady(), чтобы получить Promise, который выполняется при инициализации Electron.
Событие: 'window-all-closed'
Используется, когда все окна закрыты.
Если вы не подписаны на это событие и все окна закрыты, приложение по умолчанию закрывается; однако, если вы подписаны, вы контролируете, закрывается ли приложение или нет. Если пользователь нажал Cmd + Q или разработчик вызвал app.quit(), Electron сначала попытается закрыть все окна, а затем испустит событие will-quit. В этом случае событие window-all-closed не будет испущено.
Событие: 'before-quit'
Возвращает:
-
eventСобытие
Используется перед тем, как приложение начнёт закрывать свои окна. Вызов event.preventDefault() предотвратит стандартное поведение, которое заключается в завершении приложения.
Примечание: Если закрытие приложения инициировано autoUpdater.quitAndInstall(), то before-quit испускается после испускания события close для всех окон и их закрытия.
Примечание: В Windows это событие не будет испущено, если приложение закрыто из-за перезагрузки/выключения системы или выхода пользователя.
Событие: 'will-quit'
Возвращает:
-
eventСобытие
Используется, когда все окна закрыты и приложение готовится к закрытию. Вызов event.preventDefault() предотвратит стандартное поведение, которое заключается в завершении приложения.
См. описание события window-all-closed для отличий между событиями will-quit и window-all-closed.
Примечание: В Windows это событие не будет испущено, если приложение закрыто из-за перезагрузки/выключения системы или выхода пользователя.
Событие: 'quit'
Возвращает:
-
eventСобытие -
exitCodeЦелое число
Используется при закрытии приложения.
Примечание: В Windows это событие не будет испущено, если приложение закрыто из-за перезагрузки/выключения системы или выхода пользователя.
Событие: 'open-file' macOS
Возвращает:
-
eventСобытие -
pathстрока
Используется, когда пользователь хочет открыть файл с помощью приложения. Событие open-file обычно испускается, когда приложение уже открыто, и ОС хочет повторно использовать приложение для открытия файла. open-file также испускается, когда файл перетаскивается на папку приложений, а приложение ещё не запущено. Убедитесь, что вы очень рано подписываетесь на событие open-file в начале запуска приложения для обработки этого случая (даже до испускания события ready).
Вы должны вызвать event.preventDefault(), если хотите обработать это событие.
В Windows вам нужно разобрать process.argv (в основном процессе), чтобы получить путь к файлу.
Событие: 'open-url' macOS
Возвращает:
-
eventСобытие -
urlстрока
Используется, когда пользователь хочет открыть URL с помощью приложения. Файл Info.plist приложения должен определить схему URL в ключе CFBundleURLTypes и установить NSPrincipalClass в значение AtomApplication.
Вы должны вызвать event.preventDefault(), если хотите обработать это событие.
Событие: 'activate' macOS
Возвращает:
-
eventСобытие -
hasVisibleWindowsлогическое значение
Используется, когда приложение активируется. Различные действия могут вызвать это событие, такие как запуск приложения в первый раз, попытка повторного запуска приложения, когда оно уже запущено, или нажатие на значок приложения в доке или панели задач.
Событие: 'did-become-active' macOS
Возвращает:
-
eventСобытие
Используется, когда macOS приложение становится активным. Отличие от события activate заключается в том, что did-become-active испускается каждый раз, когда приложение становится активным, а не только при щелчке по значку в доке или повторном запуске приложения.
Событие: 'continue-activity' macOS
Возвращает:
-
eventСобытие -
typeстрока - Строка, идентифицирующая активность. СоответствуетNSUserActivity.activityType. -
userInfoнеизвестно - Содержит приложению специфичную информацию, сохранённую деятельностью на другом устройстве. -
detailsОбъект-
webpageURLстрока (необязательно) - Строка, идентифицирующая URL страницы, к которой была обращена активность на другом устройстве, если доступна.
-
Используется при передаче, когда активность с другого устройства должна быть возобновлена. Вы должны вызвать event.preventDefault(), если хотите обработать это событие.
Возобновление пользовательской активности возможно только в приложении с тем же идентификатором команды разработчика, что и источник активности, и поддерживающем тип активности. Поддерживаемые типы активности указаны в Info.plist приложения под ключом NSUserActivityTypes.
Событие: 'will-continue-activity' macOS
Возвращает:
-
eventСобытие -
typeстрока - Строка, идентифицирующая активность. СоответствуетNSUserActivity.activityType.
Используется при передаче перед возобновлением активности с другого устройства. Вы должны вызвать event.preventDefault(), если хотите обработать это событие.
Событие: 'continue-activity-error' macOS
Возвращает:
-
eventСобытие -
typeстрока - Строка, идентифицирующая активность. СоответствуетNSUserActivity.activityType. -
errorстрока - Строка с локализованным описанием ошибки.
Используется при передаче, когда возобновление активности с другого устройства завершается ошибкой.
Событие: 'activity-was-continued' macOS
Возвращает:
-
eventСобытие -
typeстрока - Строка, идентифицирующая активность. Сопоставляется сNSUserActivity.activityType. -
userInfoнеизвестно - Содержит прикладные данные, сохранённые активностью.
Выдаётся во время Handoff после успешного возобновления активности с этого устройства на другом.
Событие: 'update-activity-state' macOS
Возвращает:
-
eventСобытие -
typeстрока - Строка, идентифицирующая активность. Сопоставляется сNSUserActivity.activityType. -
userInfoнеизвестно - Содержит прикладные данные, сохранённые активностью.
Выдаётся, когда Handoff готовится к возобновлению на другом устройстве. Если вам нужно обновить передаваемые данные, вы должны вызвать event.preventDefault() немедленно, создать новый словарь userInfo и вызвать app.updateCurrentActivity() своевременно. В противном случае операция завершится ошибкой, и будет вызвано continue-activity-error.
Событие: 'new-window-for-tab' macOS
Возвращает:
-
eventСобытие
Выдаётся, когда пользователь нажимает на кнопку создания новой вкладки в macOS. Кнопка новой вкладки отображается только если текущая BrowserWindow имеет tabbingIdentifier
Событие: 'browser-window-blur'
Возвращает:
-
eventСобытие -
windowОкно браузера
Выдаётся, когда окно браузера browserWindow теряет фокус.
Событие: 'browser-window-focus'
Возвращает:
-
eventСобытие -
windowОкно браузера
Выдаётся, когда окно браузера browserWindow получает фокус.
Событие: 'browser-window-created'
Возвращает:
-
eventСобытие -
windowОкно браузера
Выдаётся при создании нового окна браузера browserWindow.
Событие: 'web-contents-created'
Возвращает:
-
eventСобытие -
webContentsWebContents
Выдаётся при создании нового webContents.
Событие: 'certificate-error'
Возвращает:
-
eventСобытие -
webContentsWebContents -
urlстрока -
errorстрока - Код ошибки -
certificateСертификат -
callbackФункция-
isTrustedбулево - Считать ли сертификат надёжным
-
-
isMainFrameбулево
Выдаётся при неудачной проверке certificate для url. Чтобы доверять сертификату, необходимо предотвратить стандартное поведение с помощью event.preventDefault() и вызвать callback(true).
const { app } = require('electron')
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
if (url === 'https://github.com') {
// Verification logic.
event.preventDefault()
callback(true)
} else {
callback(false)
}
})
Событие: 'select-client-certificate'
Возвращает:
-
eventСобытие -
webContentsWebContents -
urlURL -
certificateListМассив сертификатов -
callbackФункция-
certificateСертификат (необязательно)
-
Выдаётся при запросе клиентского сертификата.
url соответствует записи навигации, запрашивающей клиентский сертификат, и callback может быть вызван со входом, отфильтрованным из списка. Использование event.preventDefault() предотвращает использование первого сертификата из хранилища.
const { app } = require('electron')
app.on('select-client-certificate', (event, webContents, url, list, callback) => {
event.preventDefault()
callback(list[0])
})
Событие: 'login'
Возвращает:
-
eventСобытие -
webContentsWebContents -
authenticationResponseDetailsОбъект-
urlURL
-
-
authInfoОбъект-
isProxyбулево -
schemeстрока -
hostстрока -
portЦелое число -
realmстрока
-
-
callbackФункция-
usernameстрока (необязательно) -
passwordстрока (необязательно)
-
Выдаётся, когда webContents хочет выполнить базовый аутентификацию.
Стандартное поведение - отмена всех аутентификаций. Чтобы переопределить это, предотвратите стандартное поведение с помощью event.preventDefault() и вызовите callback(username, password) с учетными данными.
const { app } = require('electron')
app.on('login', (event, webContents, details, authInfo, callback) => {
event.preventDefault()
callback('username', 'secret')
})
Если callback вызван без имени пользователя или пароля, запрос на аутентификацию будет отменён, и ошибка аутентификации будет возвращена на страницу.
Событие: 'gpu-info-update'
Выдаётся при каждом обновлении информации о GPU.
Событие: 'gpu-process-crashed' Устаревшее
Возвращает:
-
eventСобытие -
killedбулево
Выдаётся, когда процесс GPU завершается ошибкой или убивается.
Устаревшее: Это событие заменено событием child-process-gone, которое содержит больше информации о причине исчезновения дочернего процесса. Не всегда это связано с ошибкой. Значение killed можно заменить проверкой reason === 'killed' при переходе на это событие.
Событие: 'renderer-process-crashed' Устаревшее
Возвращает:
-
eventСобытие -
webContentsWebContents -
killedбулево
Выдаётся, когда процесс рендеринга webContents завершается ошибкой или убивается.
Устаревшее: Это событие заменено событием render-process-gone, которое содержит больше информации о причине исчезновения процесса рендеринга. Не всегда это связано с ошибкой. Значение killed можно заменить проверкой reason === 'killed' при переходе на это событие.
Событие: 'render-process-gone'
Возвращает:
-
eventСобытие -
webContentsWebContents -
detailsОбъект-
reasonстрока - Причина исчезновения процесса рендеринга. Возможные значения:-
clean-exit- Процесс завершился с кодом 0 -
abnormal-exit- Процесс завершился с ненулевым кодом -
killed- Процесс был послан SIGTERM или убит внешним образом -
crashed- Процесс завершился с ошибкой -
oom- Процесс вышел из памяти -
launch-failed- Процесс так и не запустился -
integrity-failure- Проверка целостности кода Windows завершилась с ошибкой
-
-
exitCodeЦелое число - Код завершения процесса, еслиreasonнеlaunch-failed, в этом случаеexitCodeбудет платформенно-зависимым кодом ошибки запуска.
-
Выдаётся, когда процесс рендеринга неожиданно исчезает. Обычно это происходит из-за ошибки или убийства процесса.
Событие: 'child-process-gone'
Возвращает:
-
eventСобытие -
detailsОбъект-
typeстрока - Тип процесса. Одно из следующих значений:UtilityZygoteSandbox helperGPUPepper PluginPepper Plugin BrokerUnknown
-
reasonстрока - Причина завершения дочернего процесса. Возможные значения:-
clean-exit- Процесс завершился с кодом выхода 0 -
abnormal-exit- Процесс завершился с ненулевым кодом выхода -
killed- Процесс был завершен внешним SIGTERM или другим способом -
crashed- Процесс аварийно завершился -
oom- У процесса закончилась память -
launch-failed- Процесс никогда не был успешно запущен -
integrity-failure- Проверка целостности кода на Windows завершилась ошибкой
-
-
exitCodeчисло - Код выхода процесса (например, статус из waitpid в POSIX или из GetExitCodeProcess в Windows). -
serviceNameстрока (необязательно) - Нелокализованное имя процесса. -
nameстрока (необязательно) - Имя процесса. Примеры для утилит:Audio Service,Content Decryption Module Service,Network Service,Video Captureи т.д.
-
Выдается, когда дочерний процесс неожиданно исчезает. Это обычно происходит из-за сбоя или завершения процесса. Не включает процессы рендеринга.
Событие: 'accessibility-support-changed' macOS Windows
Возвращает:
-
eventСобытие -
accessibilitySupportEnabledлогическое значение -true, когда поддержка функций доступности Chrome включена,falseв противном случае.
Выдается при изменении поддержки функций доступности Chrome. Это событие срабатывает, когда технологии вспомогательных средств, такие как программы чтения с экрана, включаются или отключаются. Дополнительные сведения см. в https://www.chromium.org/developers/design-documents/accessibility.
Событие: 'session-created'
Возвращает:
-
sessionСеанс
Выдается, когда Electron создал новый session.
const { app } = require('electron')
app.on('session-created', (session) => {
console.log(session)
})
Событие: 'second-instance'
Возвращает:
-
eventСобытие -
argvмассив строк - Массив аргументов командной строки второго экземпляра -
workingDirectoryстрока - Рабочий каталог второго экземпляра -
additionalDataнеизвестный тип - Объект JSON с дополнительными данными, переданными из второго экземпляра
Это событие будет выдано в основном экземпляре вашего приложения, когда был запущен второй экземпляр и вызвал app.requestSingleInstanceLock().
argv — это массив аргументов командной строки второго экземпляра, а workingDirectory — его текущий рабочий каталог. Обычно приложения реагируют на это, делая главное окно активным и не свёрнутым.
Примечание: Если второй экземпляр запущен другим пользователем, чем первый, массив argv не будет содержать аргументы.
Это событие гарантированно выдаётся после события ready app.
Примечание: Дополнительные аргументы командной строки могут быть добавлены Chromium, например, --original-process-start-time.
Методы
Объект app имеет следующие методы:
Примечание: Некоторые методы доступны только на определенных операционных системах и помечены как таковые.
app.quit()
Попытаться закрыть все окна. Сначала будет выдано событие before-quit. Если все окна закрыты успешно, будет выдано событие will-quit, и по умолчанию приложение будет завершено.
Этот метод гарантирует, что все обработчики событий beforeunload и unload будут правильно выполнены. Возможно, окно отменит завершение, вернув false в обработчике события beforeunload.
app.exit([exitCode])
-
exitCodeЦелое число (необязательно)
Немедленно завершает приложение с кодом выхода exitCode. exitCode по умолчанию равен 0.
Все окна будут закрыты немедленно без запроса у пользователя, и события before-quit и will-quit не будут вызваны.
app.relaunch([options])
Перезапускает приложение при выходе текущего экземпляра.
По умолчанию новый экземпляр будет использовать тот же рабочий каталог и аргументы командной строки, что и текущий экземпляр. Если указан args, вместо этого будут переданы args в качестве аргументов командной строки. Если указан execPath, для перезапуска будет выполнено execPath, а не текущее приложение.
Обратите внимание, что этот метод не завершает приложение при выполнении, вам нужно вызвать app.quit или app.exit после вызова app.relaunch, чтобы запустить перезапуск приложения.
Если метод app.relaunch вызывается несколько раз, после выхода текущего экземпляра будут запущены несколько экземпляров.
Пример перезапуска текущего экземпляра немедленно и добавления нового аргумента командной строки в новый экземпляр:
const { app } = require('electron')
app.relaunch({ args: process.argv.slice(1).concat(['--relaunch']) })
app.exit(0)
app.isReady()
Возвращает boolean - true, если Electron завершил инициализацию, false в противном случае. См. также app.whenReady().
app.whenReady()
Возвращает Promise<void> - выполняется при инициализации Electron. Может быть использован как удобная альтернатива проверке app.isReady() и подписке на событие ready, если приложение еще не готово.
app.focus([options])
В Linux фокусирует первое видимое окно. В macOS делает приложение активным. В Windows фокусирует первое окно приложения.
Старайтесь использовать опцию steal как можно реже.
app.hide() macOS
Скрывает все окна приложения без их сворачивания.
app.isHidden() macOS
Возвращает boolean - true, если приложение (включая все его окна) скрыто (например, с помощью Command-H), false в противном случае.
app.show() macOS
Показывает окна приложения после их скрытия. Не фокусирует их автоматически.
app.setAppLogsPath([path])
-
pathстрока (необязательно) - Пользовательский путь для ваших логов. Должен быть абсолютным.
Устанавливает или создает каталог для логов вашего приложения, который затем можно обрабатывать с помощью app.getPath() или app.setPath(pathName, newPath).
Вызов app.setAppLogsPath() без параметра path приведет к установке этого каталога в ~/Library/Logs/YourAppName на macOS и внутри каталога userData в Linux и Windows.
app.getAppPath()
Возвращает string - Текущий каталог приложения.
app.getPath(name)
-
namestring - Вы можете запросить следующие пути по имени:-
homeДомашний каталог пользователя. -
appDataКаталог данных приложения для каждого пользователя, который по умолчанию указывает на:-
%APPDATA%в Windows -
$XDG_CONFIG_HOMEили~/.configв Linux -
~/Library/Application Supportв macOS
-
-
userDataКаталог для хранения файлов конфигурации приложения, который по умолчанию является каталогомappDataс добавленным именем приложения. По соглашению файлы, хранящие данные пользователя, должны записываться в этот каталог, и не рекомендуется записывать здесь большие файлы, потому что некоторые среды могут резервировать этот каталог в облачном хранилище. -
sessionDataКаталог для хранения данных, сгенерированныхSession, таких как localStorage, cookie, кэш диска, загруженные словари, состояние сети, файлы devtools. По умолчанию он указывает наuserData. Chromium может записывать здесь очень большой кэш диска, поэтому, если ваше приложение не полагается на хранилище браузера, такое как localStorage или cookie, для сохранения данных пользователя, рекомендуется установить этот каталог в другие места, чтобы избежать загрязнения каталогаuserData. -
tempВременный каталог. -
exeТекущий исполняемый файл. -
moduleБиблиотекаlibchromiumcontent. -
desktopКаталог рабочего стола текущего пользователя. -
documentsКаталог "Мои документы" пользователя. -
downloadsКаталог загрузок пользователя. -
musicКаталог музыки пользователя. -
picturesКаталог изображений пользователя. -
videosКаталог видео пользователя. -
recentКаталог последних файлов пользователя (только Windows). -
logsКаталог журнала приложения. -
crashDumpsКаталог, где хранятся дампы сбоев.
-
Возвращает string - Путь к специальному каталогу или файлу, связанному с name. В случае ошибки выбрасывается Error.
Если app.getPath('logs') вызывается без предварительного вызова app.setAppLogsPath(), будет создан каталог журнала по умолчанию, эквивалентный вызову app.setAppLogsPath() без параметра path.
app.getFileIcon(path[, options])
-
pathstring
Возвращает Promise<NativeImage> - выполнение с иконкой приложения, которая является NativeImage.
Получает связанную с путем иконку.
В Windows существует 2 типа иконок:
- Иконки, связанные с определенными расширениями файлов, например,
.mp3,.pngи т. д. - Иконки внутри самого файла, например,
.exe,.dll,.ico.
В Linux и macOS иконки зависят от приложения, связанного с типом MIME файла.
app.setPath(name, path)
-
namestring -
pathstring
Переопределяет path на специальный каталог или файл, связанный с name. Если путь указывает на каталог, который не существует, выбрасывается Error. В этом случае каталог следует создать с помощью fs.mkdirSync или аналогично.
Вы можете переопределять только пути name, определённые в app.getPath.
По умолчанию cookie и кэш веб-страниц будут храниться в каталоге sessionData. Если вы хотите изменить это местоположение, вам необходимо переопределить путь sessionData до срабатывания события ready модуля app.
app.getVersion()
Возвращает string - Версия загруженного приложения. Если версия не найдена в файле package.json приложения, возвращается версия текущего пакета или исполняемого файла.
app.getName()
Возвращает string - Название текущего приложения, которое является именем в файле package.json приложения.
Обычно поле name в package.json — это короткое имя в нижнем регистре, согласно спецификации npm-модулей. Вы обычно также должны указать поле productName, которое представляет собой полное имя приложения в верхнем регистре, и Electron отдаст предпочтение ему перед name.
app.setName(name)
-
namestring
Переопределяет имя текущего приложения.
Примечание: Эта функция переопределяет имя, используемое внутри Electron; она не влияет на имя, используемое ОС.
app.getLocale()
Возвращает string - Текущий языковой стандарт приложения, полученный с помощью библиотеки l10n_util Chromium. Возможные возвращаемые значения документированы здесь.
Для установки языкового стандарта следует использовать параметр командной строки при запуске приложения, который можно найти здесь.
Примечание: При распространении упакованного приложения необходимо также распространять папку locales.
Примечание: В Windows необходимо вызвать функцию после срабатывания событий ready.
app.getLocaleCountryCode()
Возвращает string - Двухбуквенный код страны языкового стандарта операционной системы пользователя согласно ISO 3166. Значение взято из API родной ОС.
Примечание: При невозможности определить код страны языкового стандарта возвращается пустая строка.
app.addRecentDocument(path) macOS Windows
-
pathstring
Добавляет path в список последних документов.
Этот список управляется ОС. В Windows вы можете открыть список с панели задач, а в macOS — из меню панели задач.
app.clearRecentDocuments() macOS Windows
Очищает список последних документов.
app.setAsDefaultProtocolClient(protocol[, path, args])
-
protocolstring - Название вашего протокола без://. Например, если вы хотите, чтобы ваше приложение обрабатывало ссылкиelectron://, вызовите этот метод сelectronв качестве параметра. -
pathstring (необязательно) Windows - Путь к исполняемому файлу Electron. По умолчаниюprocess.execPath -
argsstring[] (необязательно) Windows - Аргументы, передаваемые в исполняемый файл. По умолчанию пустой массив
Возвращает boolean - Успешность вызова.
Устанавливает текущий исполняемый файл как обработчик по умолчанию для протокола (или схемы URI). Это позволяет глубже интегрировать ваше приложение в операционную систему. После регистрации все ссылки с your-protocol:// будут открываться с помощью текущего исполняемого файла. Весь URL, включая протокол, будет передан вашему приложению в качестве параметра.
Примечание: В macOS вы можете регистрировать только протоколы, которые были добавлены в info.plist вашего приложения, которые нельзя изменить во время выполнения. Однако вы можете изменить файл во время сборки с помощью Electron Forge, Electron Packager или отредактировав info.plist с помощью текстового редактора. Для получения подробностей обратитесь к документации Apple.
Примечание: В среде Windows Store (при упаковке как appx) этот API вернёт true для всех вызовов, но зарегистрированный ключ реестра не будет доступен другим приложениям. Для регистрации приложения Windows Store в качестве обработчика протоколов по умолчанию необходимо указать протокол в вашем манифесте.
API использует реестр Windows и LSSetDefaultHandlerForURLScheme внутри.
app.removeAsDefaultProtocolClient(protocol[, path, args]) macOS Windows
-
protocolстрока - Название вашего протокола без://. -
pathстрока (необязательно) Windows - По умолчаниюprocess.execPath -
argsмассив строк (необязательно) Windows - По умолчанию пустой массив
Возвращает boolean - Успешность выполнения.
Этот метод проверяет, является ли текущий исполняемый файл обработчиком по умолчанию для протокола (т.е. схемы URI). Если да, то удаляет приложение как обработчик по умолчанию.
app.isDefaultProtocolClient(protocol[, path, args])
-
protocolстрока - Название вашего протокола без://. -
pathстрока (необязательно) Windows - По умолчаниюprocess.execPath -
argsмассив строк (необязательно) Windows - По умолчанию пустой массив
Возвращает boolean - Является ли текущий исполняемый файл обработчиком по умолчанию для протокола (т.е. схемы URI).
Примечание: В macOS этот метод можно использовать для проверки, зарегистрировано ли приложение как обработчик протокола по умолчанию. Вы также можете проверить это, посмотрев на ~/Library/Preferences/com.apple.LaunchServices.plist на компьютере macOS. Для получения подробностей обратитесь к документации Apple.
API использует внутренне реестр Windows и LSCopyDefaultHandlerForURLScheme.
app.getApplicationNameForProtocol(url)
-
urlстрока - URL с именем протокола для проверки. В отличие от других методов в этой группе, он принимает весь URL, включая://как минимум (например,https://).
Возвращает string - Имя приложения, обрабатывающего протокол, или пустую строку, если такого обработчика нет. Например, если Electron является обработчиком по умолчанию для URL, это может быть Electron в Windows и Mac. Однако не полагайтесь на точный формат, так как он не гарантируется неизменным. Ожидайте другой формат в Linux, возможно с суффиксом .desktop.
Этот метод возвращает имя приложения-обработчика по умолчанию для протокола (т.е. схемы URI) URL.
app.getApplicationInfoForProtocol(url) macOS Windows
-
urlстрока - URL с именем протокола для проверки. В отличие от других методов в этой группе, он принимает весь URL, включая://как минимум (например,https://).
Возвращает Promise<Object> - Разрешение с объектом, содержащим следующее:
-
iconNativeImage - значок приложения, обрабатывающего протокол. -
pathстрока - путь установки приложения, обрабатывающего протокол. -
nameстрока - отображаемое имя приложения, обрабатывающего протокол.
Этот метод возвращает обещание, содержащее имя приложения, значок и путь обработчика по умолчанию для протокола (т.е. схемы URI) URL.
app.setUserTasks(tasks) Windows
-
tasksTask[] - Массив объектовTask
Добавляет tasks в категорию «Задачи» списка «Быстрый запуск» в Windows.
tasks — это массив объектов Task.
Возвращает boolean - Успешность выполнения.
Примечание: Если вы хотите ещё больше настроить список «Быстрый запуск», используйте app.setJumpList(categories) вместо этого.
app.getJumpListSettings() Windows
Возвращает Object:
-
minItemsЦелое число - минимальное количество элементов, отображаемых в списке «Быстрый запуск» (более подробное описание этого значения см. в документации MSDN). -
removedItemsJumpListItem[] - Массив объектовJumpListItem, соответствующих элементам, которые пользователь явно удалил из пользовательских категорий в списке «Быстрый запуск». Эти элементы нельзя добавлять обратно в список «Быстрый запуск» в следующем вызовеapp.setJumpList(), Windows не отобразит никакую пользовательскую категорию, содержащую удалённые элементы.
app.setJumpList(categories) Windows
-
categoriesJumpListCategory[] |null- Массив объектовJumpListCategory.
Возвращает string
Устанавливает или удаляет пользовательский список «Быстрый запуск» для приложения и возвращает одну из следующих строк:
-
ok- Ошибок не обнаружено. -
error- Произошла одна или несколько ошибок, включите ведение журнала времени выполнения, чтобы определить вероятную причину. -
invalidSeparatorError- Была предпринята попытка добавить разделитель в пользовательскую категорию в списке «Быстрый запуск». Разделители разрешены только в стандартной категорииTasks. -
fileTypeRegistrationError- Была предпринята попытка добавить ссылку на файл в список «Быстрый запуск» для типа файла, который приложение не зарегистрировано обрабатывать. -
customCategoryAccessDeniedError- Пользовательские категории не могут быть добавлены в список «Быстрый запуск» из-за настроек конфиденциальности или групповой политики пользователя.
Если categories равно null, ранее установленный пользовательский список «Быстрый запуск» (если таковой был) заменится стандартным списком «Быстрый запуск» для приложения (управляется Windows).
Примечание: Если объект JumpListCategory не имеет свойств type или name, то его type предполагается равным tasks. Если свойство name установлено, но свойство type опущено, то type предполагается равным custom.
Примечание: Пользователи могут удалять элементы из пользовательских категорий, и Windows не позволит добавлять удалённый элемент обратно в пользовательскую категорию до следующего успешного вызова app.setJumpList(categories). Любая попытка повторного добавления удалённого элемента в пользовательскую категорию раньше этого приведёт к тому, что вся пользовательская категория будет исключена из списка «Быстрый запуск». Список удалённых элементов можно получить с помощью app.getJumpListSettings().
Примечание: Максимальная длина свойства description элемента списка «Быстрый запуск» составляет 260 символов. При превышении этого лимита элемент не будет добавлен в список «Быстрый запуск» и не будет отображаться.
Вот очень простой пример создания пользовательского списка «Быстрый запуск»:
const { app } = require('electron')
app.setJumpList([
{
type: 'custom',
name: 'Recent Projects',
items: [
{ type: 'file', path: 'C:\\Projects\\project1.proj' },
{ type: 'file', path: 'C:\\Projects\\project2.proj' }
]
},
{ // has a name so `type` is assumed to be "custom"
name: 'Tools',
items: [
{
type: 'task',
title: 'Tool A',
program: process.execPath,
args: '--run-tool-a',
icon: process.execPath,
iconIndex: 0,
description: 'Runs Tool A'
},
{
type: 'task',
title: 'Tool B',
program: process.execPath,
args: '--run-tool-b',
icon: process.execPath,
iconIndex: 0,
description: 'Runs Tool B'
}
]
},
{ type: 'frequent' },
{ // has no name and no type so `type` is assumed to be "tasks"
items: [
{
type: 'task',
title: 'New Project',
program: process.execPath,
args: '--new-project',
description: 'Create a new project.'
},
{ type: 'separator' },
{
type: 'task',
title: 'Recover Project',
program: process.execPath,
args: '--recover-project',
description: 'Recover Project'
}
]
}
])
app.requestSingleInstanceLock([additionalData])
-
additionalDataRecord<any, any> (необязательно) - Объект JSON, содержащий дополнительные данные для отправки первому экземпляру.
Возвращает boolean
Значение возвращаемое этим методом указывает, получил ли этот экземпляр вашего приложения блокировку. Если блокировка не получена, можно предположить, что другой экземпляр вашего приложения уже запущен и обладает блокировкой, и немедленно завершить работу.
Т.е. этот метод возвращает true, если ваш процесс является главным экземпляром вашего приложения, и приложение должно продолжить загрузку. Он возвращает false, если процесс должен немедленно завершиться, так как он отправил свои параметры другому экземпляру, который уже получил блокировку.
В macOS система автоматически обеспечивает работу с одним экземпляром, когда пользователи пытаются открыть второй экземпляр вашего приложения в Finder, и для этого будут выпущены события open-file и open-url. Однако, когда пользователи запускают ваше приложение из командной строки, механизм системы с одним экземпляром будет проигнорирован, и вам нужно использовать этот метод для обеспечения работы с одним экземпляром.
Пример активации окна основного экземпляра, когда запускается второй экземпляр:
const { app } = require('electron')
let myWindow = null
const additionalData = { myKey: 'myValue' }
const gotTheLock = app.requestSingleInstanceLock(additionalData)
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, commandLine, workingDirectory, additionalData) => {
// Print out data received from the second instance.
console.log(additionalData)
// Someone tried to run a second instance, we should focus our window.
if (myWindow) {
if (myWindow.isMinimized()) myWindow.restore()
myWindow.focus()
}
})
// Create myWindow, load the rest of the app, etc...
app.whenReady().then(() => {
myWindow = createWindow()
})
}
app.hasSingleInstanceLock()
Возвращает boolean
Этот метод возвращает значение, указывающее, владеет ли данный экземпляр приложения блокировкой единственного экземпляра. Блокировку можно запросить с помощью app.requestSingleInstanceLock(), а освободить с помощью app.releaseSingleInstanceLock()
app.releaseSingleInstanceLock()
Освобождает все блокировки, созданные с помощью requestSingleInstanceLock. Это позволит нескольким экземплярам приложения снова работать параллельно.
app.setUserActivity(type, userInfo[, webpageURL]) macOS
-
typeстрока - Уникально идентифицирует активность. СоответствуетNSUserActivity.activityType. -
userInfoлюбой тип - Состояние, специфичное для приложения, для хранения и использования другим устройством. -
webpageURLстрока (необязательно) - Веб-страница для загрузки в браузере, если на возобновляющем устройстве нет подходящего приложения. Схема должна бытьhttpилиhttps.
Создаёт NSUserActivity и устанавливает его как текущую активность. После этого активность может быть передана другому устройству с помощью Handoff.
app.getCurrentActivityType() macOS
Возвращает string - тип текущей выполняемой активности.
app.invalidateCurrentActivity() macOS
Деактивирует текущую активность Handoff.
app.resignCurrentActivity() macOS
Отмечает текущую активность Handoff как неактивную, не деактивируя её.
app.updateCurrentActivity(type, userInfo) macOS
-
typeстрока - Уникально идентифицирует активность. СоответствуетNSUserActivity.activityType. -
userInfoлюбой тип - Состояние, специфичное для приложения, для хранения и использования другим устройством.
Обновляет текущую активность, если её тип совпадает с type, объединяя записи из userInfo в её текущий словарь userInfo.
app.setAppUserModelId(id) Windows
-
idстрока
Изменяет Идентификатор модели пользователя приложения на id.
app.setActivationPolicy(policy) macOS
-
policyстрока - Может быть 'regular', 'accessory' или 'prohibited'.
Устанавливает политику активации для данного приложения.
Типы политик активации:
- 'regular' - Приложение является обычным приложением, отображаемым в Dock и, возможно, имеющим пользовательский интерфейс.
- 'accessory' - Приложение не отображается в Dock и не имеет строку меню, но может быть активировано программно или щелчком по одному из его окон.
- 'prohibited' - Приложение не отображается в Dock и не может создавать окна или быть активированным.
app.importCertificate(options, callback) Linux
-
callbackФункция-
resultЦелое число - Результат импорта.
-
Импортирует сертификат в формате pkcs12 в хранилище сертификатов платформы. callback вызывается с result операции импорта, значение 0 указывает на успех, а любое другое значение указывает на неудачу в соответствии с Chromium net_error_list.
app.configureHostResolver(options)
Настраивает разрешение хостов (DNS и DNS-over-HTTPS). По умолчанию используются следующие резолверы в порядке приоритета:
- DNS-over-HTTPS, если поставщик DNS поддерживает его, затем
- встроенный резолвер (по умолчанию включён только на macOS), затем
- системный резолвер (например,
getaddrinfo).
Это можно настроить для ограничения использования небезопасного DNS (secureDnsMode: "secure") или отключения DNS-over-HTTPS (secureDnsMode:
"off"). Также можно включить или отключить встроенный резолвер.
Чтобы отключить небезопасный DNS, можно указать secureDnsMode "secure". В этом случае убедитесь, что вы предоставили список серверов DNS-over-HTTPS для использования, на случай если конфигурация DNS пользователя не включает поставщика, поддерживающего DoH.
app.configureHostResolver({
secureDnsMode: 'secure',
secureDnsServers: [
'https://cloudflare-dns.com/dns-query'
]
})
Этот API должен быть вызван после того, как было выпущено событие ready.
app.disableHardwareAcceleration()
Отключает аппаратное ускорение для текущего приложения.
Этот метод может быть вызван только до готовности приложения.
app.disableDomainBlockingFor3DAPIs()
По умолчанию Chromium отключает 3D API (например, WebGL) до перезапуска на основе доменов, если процессы GPU завершаются слишком часто. Эта функция отключает это поведение.
Этот метод может быть вызван только до готовности приложения.
app.getAppMetrics()
Возвращает ProcessMetric[]: массив объектов ProcessMetric, соответствующих статистике использования памяти и процессора всех процессов, связанных с приложением.
app.getGPUFeatureStatus()
Возвращает GPUFeatureStatus - состояние функций графического процессора из chrome://gpu/.
Примечание: Эта информация доступна только после того, как было выпущено событие gpu-info-update.
app.getGPUInfo(infoType)
-
infoTypeстрока - Может бытьbasicилиcomplete.
Возвращает Promise<unknown>
Для infoType, равного complete: промис выполняется с Object, содержащим всю информацию о графическом процессоре, как в объекте GPUInfo из chromium. Это включает версию и информацию о драйвере, которая отображается на странице chrome://gpu.
Для infoType, равного basic: промис выполняется с Object, содержащим меньше атрибутов, чем при запросе с complete. Вот пример базового ответа:
{
auxAttributes:
{
amdSwitchable: true,
canSupportThreadedTextureMailbox: false,
directComposition: false,
directRendering: true,
glResetNotificationStrategy: 0,
inProcessGpu: true,
initializationTime: 0,
jpegDecodeAcceleratorSupported: false,
optimus: false,
passthroughCmdDecoder: false,
sandboxed: false,
softwareRendering: false,
supportsOverlays: false,
videoDecodeAcceleratorFlags: 0
},
gpuDevice:
[{ active: true, deviceId: 26657, vendorId: 4098 },
{ active: false, deviceId: 3366, vendorId: 32902 }],
machineModelName: 'MacBookPro',
machineModelVersion: '11.5'
}
Рекомендуется использовать basic, если необходима только базовая информация, например, vendorId или driverId.
app.setBadgeCount([count]) Linux macOS
-
countЦелое число (необязательно) - Если значение предоставлено, значок устанавливается на это значение; в противном случае на macOS отображается обычная белая точка (например, неизвестное количество уведомлений). В Linux, если значение не предоставлено, значок не отображается.
Возвращает boolean - Успех выполнения вызова.
Устанавливает значок счётчика текущего приложения. Установка счётчика на значение 0 скроет значок.
На macOS значок отображается на значке приложения в доке. В Linux он работает только для запуска Unity.
Примечание: Для работы с Unity требуется файл .desktop. Для получения дополнительной информации ознакомьтесь с документацией по интеграции Unity.
app.getBadgeCount() Linux macOS
Возвращает Integer - Текущее значение, отображаемое в значке счётчика.
app.isUnityRunning() Linux
Возвращает boolean - Является ли текущая среда рабочего стола загрузчиком Unity.
app.getLoginItemSettings([options]) macOS Windows
Если вы предоставили path и args параметры для app.setLoginItemSettings, необходимо передать те же аргументы сюда, чтобы openAtLogin установилось правильно.
Возвращает Object:
-
openAtLoginлогическое значение -true, если приложение настроено на открытие при входе в систему. -
openAsHiddenлогическое значение macOS -true, если приложение настроено на скрытое открытие при входе в систему. Этот параметр недоступен для сборки MAS. -
wasOpenedAtLoginлогическое значение macOS -true, если приложение было открыто при входе в систему автоматически. -
wasOpenedAsHiddenлогическое значение macOS -true, если приложение было открыто как скрытый элемент входа в систему. Это указывает, что приложение не должно открывать какие-либо окна при запуске. Этот параметр недоступен для сборки MAS. -
restoreStateлогическое значение macOS -true, если приложение было открыто как элемент входа в систему, который должен восстановить состояние из предыдущей сессии. Это означает, что приложение должно восстановить окна, которые были открыты в прошлый раз при закрытии приложения. Этот параметр недоступен для сборки MAS. -
executableWillLaunchAtLoginлогическое значение Windows -true, если приложение настроено на открытие при входе в систему, а его ключ запуска не отключён. Это отличается отopenAtLogin, поскольку оно игнорирует параметрargs. Это свойство будет истинным, если указанный исполняемый файл будет запущен при входе в систему с любыми аргументами. -
launchItemsМассив объектов Windows-
nameстрока Windows - имя значения записи реестра. -
pathстрока Windows - Исполняемый файл приложения, соответствующий записи реестра. -
argsмассив строк Windows - аргументы командной строки для передачи исполняемому файлу. -
scopeстрока Windows - одно изuserилиmachine. Указывает, находится ли запись реестра вHKEY_CURRENT USERилиHKEY_LOCAL_MACHINE. -
enabledлогическое значение Windows -true, если ключ приложения в реестре разрешён для запуска и, следовательно, отображается какenabledв диспетчере задач и настройках Windows.
-
app.setLoginItemSettings(settings) macOS Windows
-
settingsОбъект-
openAtLoginлогическое значение (необязательно) -trueдля открытия приложения при входе в систему,falseдля удаления приложения как элемента входа в систему. По умолчаниюfalse. -
openAsHiddenлогическое значение (необязательно) macOS -trueдля открытия приложения скрытым. По умолчаниюfalse. Пользователь может изменить это в настройках системы, поэтому необходимо проверятьapp.getLoginItemSettings().wasOpenedAsHiddenпри открытии приложения, чтобы узнать текущее значение. Этот параметр недоступен для сборки MAS. -
pathстрока (необязательно) Windows - Исполняемый файл для запуска при входе в систему. По умолчаниюprocess.execPath. -
argsмассив строк (необязательно) Windows - Аргументы командной строки для передачи исполняемому файлу. По умолчанию пустой массив. Следите за тем, чтобы пути были заключены в кавычки. -
enabledлогическое значение (необязательно) Windows -trueизменит ключ реестра для разрешения запуска иenable / disableприложение в диспетчере задач и настройках Windows. По умолчаниюtrue. -
nameстрока (необязательно) Windows - имя значения для записи в реестр. По умолчанию AppUserModelId() приложения. Установите параметры элемента входа в систему приложения.
-
Для работы с autoUpdater Electron на Windows, использующим Squirrel, необходимо установить путь запуска к Update.exe и передать аргументы, которые указывают имя вашего приложения. Например:
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
app.setLoginItemSettings({
openAtLogin: true,
path: updateExe,
args: [
'--processStart', `"${exeName}"`,
'--process-start-args', `"--hidden"`
]
})
app.isAccessibilitySupportEnabled() macOS Windows
Возвращает boolean - true, если поддержка доступности Chrome включена, false в противном случае. Этот API вернёт true, если использование вспомогательных технологий, таких как экранные читалки, было обнаружено. Подробнее см. https://www.chromium.org/developers/design-documents/accessibility.
app.setAccessibilitySupportEnabled(enabled) macOS Windows
-
enabledлогическое значение - Включить или отключить отображение дерева доступности
Вручную включает поддержку доступности Chrome, позволяя пользователям включить переключатель доступности в настройках приложения. Подробнее см. документацию по доступности Chromium. Отключено по умолчанию.
Этот API должен вызываться после того, как событие ready было отправлено.
Примечание: Отображение дерева доступности может значительно повлиять на производительность вашего приложения. Не следует включать его по умолчанию.
app.showAboutPanel()
Отображает параметры панели сведений об приложении. Эти параметры можно переопределить с помощью app.setAboutPanelOptions(options).
app.setAboutPanelOptions(options)
Установите параметры панели "О программе". Это переопределит значения, определённые в файле .plist приложения на macOS. Для получения более подробной информации см. документацию Apple. В Linux значения необходимо установить для отображения; по умолчанию они не заданы.
Если вы не устанавливаете credits, но всё ещё хотите отобразить их в приложении, AppKit будет искать файлы с именами "Credits.html", "Credits.rtf" и "Credits.rtfd" (в этом порядке) в пакете, возвращаемом методом NSBundle main. Первый найденный файл будет использован, а если ни один не найден, область информации останется пустой. Для получения дополнительной информации см. документацию Apple.
app.isEmojiPanelSupported()
Возвращает boolean — поддерживает ли текущая версия ОС встроенные выборщики эмодзи.
app.showEmojiPanel() macOS Windows
Отображает встроенный выборщик эмодзи платформы.
app.startAccessingSecurityScopedResource(bookmarkData) mas
-
bookmarkDataстрока - данные закладки, закодированные в base64, возвращённые методамиdialog.showOpenDialogилиdialog.showSaveDialog.
Возвращает Function — эту функцию **необходимо** вызывать после завершения доступа к файлу с ограниченным доступом. Если вы не вспомните, как остановить доступ к закладке, ресурсы ядра будут утечены, и ваше приложение потеряет возможность доступа за пределы зоны безопасности до перезапуска.
// Start accessing the file. const stopAccessingSecurityScopedResource = app.startAccessingSecurityScopedResource(data) // You can now access the file outside of the sandbox 🎉 // Remember to stop accessing the file once you've finished with it. stopAccessingSecurityScopedResource()
Начало доступа к ресурсу с ограниченным доступом. С помощью этого метода приложения Electron, упакованные для Mac App Store, могут выйти за пределы своей зоны безопасности для доступа к файлам, выбранным пользователем. Смотрите документацию Apple для описания работы этой системы.
app.enableSandbox()
Включает полную зону безопасности для приложения. Это означает, что все рендереры будут запускаться в зоне безопасности, независимо от значения флага sandbox в WebPreferences.
Этот метод может быть вызван только до готовности приложения.
app.isInApplicationsFolder() macOS
Возвращает boolean — запуск приложения из папки "Приложения" системы. Используйте в сочетании с app.moveToApplicationsFolder()
app.moveToApplicationsFolder([options]) macOS
Возвращает boolean — был ли перенос успешным. Обратите внимание, что если перенос успешен, ваше приложение завершит работу и перезапустится.
По умолчанию диалог подтверждения не будет показан. Если вы хотите позволить пользователю подтвердить операцию, вы можете сделать это с помощью API dialog.
**ПРИМЕЧАНИЕ:** Этот метод генерирует ошибки, если перемещение не произошло по инициативе пользователя. Например, если пользователь отменяет диалог авторизации, этот метод возвращает false. Если нам не удаётся выполнить копирование, этот метод вызовет ошибку. Сообщение об ошибке должно быть информативным и точно указывать причину сбоя.
По умолчанию, если приложение с таким же именем, что и перемещаемое, уже существует в каталоге «Приложения» и не запущено, существующее приложение будет удалено, а активное приложение переместится на его место. Если оно запущено, существующее запущенное приложение получит фокус, а ранее активное приложение завершит свою работу. Это поведение можно изменить, предоставив необязательный обработчик конфликтов, где возвращаемое обработчиком булево значение определяет, разрешается ли конфликт перемещения с помощью стандартного поведения. То есть возвращение false гарантирует, что никаких дальнейших действий не будет предпринято, возвращение true приведёт к стандартному поведению и продолжению метода.
Например:
app.moveToApplicationsFolder({
conflictHandler: (conflictType) => {
if (conflictType === 'exists') {
return dialog.showMessageBoxSync({
type: 'question',
buttons: ['Halt Move', 'Continue Move'],
defaultId: 0,
message: 'An app of this name already exists'
}) === 1
}
}
})
Это означает, что если приложение с тем же именем, что и перемещаемое, уже существует в каталоге пользователя, если пользователь выберет «Продолжить перемещение», функция продолжит работу со стандартным поведением, и существующее приложение будет удалено, а активное приложение будет перемещено на его место.
app.isSecureKeyboardEntryEnabled() macOS
Возвращает boolean — включена ли функция Secure Keyboard Entry.
По умолчанию этот API возвращает false.
app.setSecureKeyboardEntryEnabled(enabled) macOS
-
enabledboolean - Включить или отключитьSecure Keyboard Entry
Устанавливает, включена ли функция Secure Keyboard Entry в вашем приложении.
Используя этот API, можно предотвратить перехват другими процессами такой важной информации, как пароли и другая конфиденциальная информация.
Для получения дополнительной информации см. документацию Apple.
**Примечание:** Включайте Secure Keyboard Entry только при необходимости и отключайте, когда она больше не нужна.
Свойства
app.accessibilitySupportEnabled macOS Windows
Свойство boolean, которое равно true, если поддержка функций доступности Chrome включена, и false в противном случае. Это свойство будет равно true, если обнаружено использование средств вспомогательных технологий, таких как программы чтения с экрана. Установка этого свойства в true вручную включает поддержку функций доступности Chrome, позволяя разработчикам предоставлять пользователям доступ к переключателю функций доступности в настройках приложения.
Для получения дополнительной информации см. документацию Chromium по доступности. Отключено по умолчанию.
Этот API должен вызываться после того, как будет выпущен ready.
**Примечание:** Отрисовка дерева функций доступности может существенно повлиять на производительность вашего приложения. Она не должна быть включена по умолчанию.
app.applicationMenu
Свойство Menu | null, которое возвращает Menu, если был задан, и null в противном случае. Пользователи могут передать Меню для установки этого свойства.
app.badgeCount Linux macOS
Свойство Integer, которое возвращает количество значков для текущего приложения. Установка значения в 0 скроет значок.
На macOS установка этого значения с любым ненулевым целым числом отображается на значке панели задач. В Linux это свойство работает только для загрузчика Unity.
Примечание: для работы Unity-загрузчика требуется файл .desktop. Для получения дополнительной информации, пожалуйста, ознакомьтесь с документацией по интеграции Unity.
Примечание: в macOS необходимо убедиться, что ваше приложение имеет разрешение отображать уведомления, чтобы это свойство стало эффективным.
app.commandLine Только для чтения
Объект CommandLine, позволяющий читать и манипулировать аргументами командной строки, используемыми Chromium.
app.dock macOS Только для чтения
Объект Dock | undefined, позволяющий выполнять действия с иконкой приложения в доке пользователя в macOS.
app.isPackaged Только для чтения
Свойство boolean, которое возвращает true, если приложение упаковано, и false в противном случае. Для многих приложений это свойство можно использовать для различения сред разработки и производства.
app.name
Свойство string, которое указывает имя текущего приложения, взятое из файла package.json приложения.
Обычно поле name в package.json — это короткое имя в нижнем регистре, согласно спецификации npm-модулей. Обычно также следует указать поле productName, которое представляет полное название приложения в верхнем регистре. Electron отдаст предпочтение полю name.
app.userAgentFallback
Строка string, которую Electron будет использовать в качестве глобального значения по умолчанию.
Это пользовательский агент, который будет использован, когда пользовательский агент не задан на уровне webContents или session. Это полезно для обеспечения того, чтобы у всего приложения был одинаковый пользовательский агент. Установите пользовательское значение как можно раньше в процессе инициализации приложения, чтобы гарантировать использование изменённого значения.
app.runningUnderRosettaTranslation macOS Только для чтения Устаревшее
Свойство boolean, которое, когда true, указывает, что приложение в данный момент запущено в среде переводчика Rosetta.
Вы можете использовать это свойство, чтобы попросить пользователей загрузить версию приложения для arm64, если они запускают x64-версию с помощью Rosetta неправильно.
Устаревшее: Это свойство устарело и заменено свойством runningUnderARM64Translation, которое определяет перевод приложения в ARM64 как в macOS, так и в Windows.
app.runningUnderARM64Translation Только для чтения macOS Windows
Свойство boolean, которое, когда true, указывает, что приложение в данный момент запущено с помощью переводчика ARM64 (например, macOS Rosetta Translator Environment или Windows WOW).
Вы можете использовать это свойство, чтобы попросить пользователей загрузить версию приложения для arm64, если они запускают x64-версию с помощью Rosetta неправильно.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/api/app