Глубокие ссылки и обработчики протоколов
Позвольте пользователям запускать приложение Electron и переходить по нему через пользовательские схемы URL — это важная интеграция с жизненным циклом, дополняющая события запуска и обновления.
«Глубокие ссылки и обработчики протоколов» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Обработка событий жизненного цикла приложения
- Реализация автоматических обновлений
- Отчётность о сбоях
- Глубокие ссылки и обработчики протоколов