Electron Desktop App Development · Урок

Глубокие ссылки и обработчики протоколов

Позвольте пользователям запускать приложение Electron и переходить по нему через пользовательские схемы URL — это важная интеграция с жизненным циклом, дополняющая события запуска и обновления.

Урок 4 из 413 шагов

«Глубокие ссылки и обработчики протоколов» — бесплатный урок Electron Desktop App Development на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Electron Desktop App Development, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Electron Desktop App Development содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Launching From a Link

Deep linking lets a URL like myapp://open/project/42 launch or focus your app and jump straight to content.

Custom Protocols

Register a custom URL scheme so the OS knows links of that type belong to your app.

app.setAsDefaultProtocolClient('myapp');

Parsing the Deep Link

Extract the path and parameters from the incoming URL to decide where to navigate.

function parseDeepLink(url) {
  const u = new URL(url);
  return { host: u.host, path: u.pathname };
}
console.log(parseDeepLink('myapp://open/project/42'));

Handling Links on macOS

On macOS, deep links arrive via the open-url event, even while the app is running.

app.on('open-url', (event, url) => {
  event.preventDefault();
  handleLink(url);
});

Handling Links on Windows and Linux

On Windows and Linux the URL comes in as a command-line argument, so inspect process.argv on launch.

function urlFromArgv(argv) {
  return argv.find(a => a.startsWith('myapp://'));
}
console.log(urlFromArgv(['electron', '.', 'myapp://open/5']));

Single Instance Coordination

Use the single instance lock so a second launch forwards its URL to the already-running app instead of starting a new one.

const gotLock = app.requestSingleInstanceLock();
if (!gotLock) app.quit();

second-instance Event

The second-instance event delivers the new command line, where the deep link lives, and lets you focus the main window.

app.on('second-instance', (e, argv) => {
  const url = urlFromArgv(argv);
  if (url) handleLink(url);
});

Cold Start vs Warm Start

Handle both cases: the app launched fresh by the link (cold) and the app already open (warm). Route both to the same handler.

Validating the Link

Never trust a deep link blindly. Validate the path and parameters before acting on them to avoid abuse.

Testing Deep Links

Test by typing the URL into a browser or terminal. During development the scheme must point at your packaged or running app.

Use Cases

Deep links power OAuth callbacks, sharing, and notifications that jump straight to relevant content, tying nicely into the app lifecycle.

Quick Check

Test your deep linking knowledge.

Recap

You learned to register a custom protocol, parse deep links, handle them across platforms, coordinate with the single-instance lock, and validate input, enabling URL-driven app navigation.

Можно начать бесплатно

Изучай JavaScript с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
47

Часто задаваемые вопросы

Урок «Глубокие ссылки и обработчики протоколов» бесплатный?

Да — полный текст урока «Глубокие ссылки и обработчики протоколов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Electron Desktop App Development, подпишись на CoddyKit PRO. Курс Electron Desktop App Development содержит 4 уроков всего.

Чему я научусь в уроке «Глубокие ссылки и обработчики протоколов»?

Позвольте пользователям запускать приложение Electron и переходить по нему через пользовательские схемы URL — это важная интеграция с жизненным циклом, дополняющая события запуска и обновления. Ты практикуешь Electron Desktop App Development с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Electron Desktop App Development?

Предыдущий опыт не требуется. Electron Desktop App Development на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Глубокие ссылки и обработчики протоколов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Electron Desktop App Development?

Да. Каждый урок Electron Desktop App Development включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Обработка событий жизненного цикла приложения
  2. Реализация автоматических обновлений
  3. Отчётность о сбоях
  4. Глубокие ссылки и обработчики протоколов
← Назад к Electron Desktop App Development