Перейти к содержимому
SEO/Опубликовано 18 октября 2026 г./5 мин

ERR_UNKNOWN_URL_SCHEME: неизвестная схема адреса

net::ERR_UNKNOWN_URL_SCHEME: браузер или приложение не знает, как открыть ссылку tel:, whatsapp:// или intent://. Разобрали по коду Chromium и как исправить.

ERR_UNKNOWN_URL_SCHEME: неизвестная схема адреса
N
Команда NEXFORCE
Кто пишет блог

net::ERR_UNKNOWN_URL_SCHEME — сообщение «Веб-страница недоступна», которое чаще всего видят в приложениях на Android: нажали кнопку «Позвонить», «Написать в WhatsApp» или «Открыть в приложении» — а вместо этого серый экран с кодом ошибки. Ошибка значит, что движок не знает, как открыть ссылку такого вида, и не передал её другой программе.

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

Что означает ERR_UNKNOWN_URL_SCHEME

Любой адрес начинается со схемы — части до двоеточия. https: и http: браузер загружает сам. tel:, mailto:, whatsapp:, tg:, intent:, market: — это не страницы, а команды «открой приложение»: звонилку, почту, мессенджер, магазин приложений.

В списке ошибок Chromium, файле net_error_list.h, рядом стоят три кода:

ОшибкаКодКомментарий в исходниках
ERR_INVALID_URL−300The URL is invalid — адрес неверен
ERR_DISALLOWED_URL_SCHEME−301The scheme of the URL is disallowed — схема запрещена
ERR_UNKNOWN_URL_SCHEME−302The scheme of the URL is unknown — схема неизвестна

Где ставится код, видно в navigation_url_loader_impl.cc. Если для схемы нет своего загрузчика, браузер спрашивает, может ли он передать адрес другой программе. Передал — переход завершается кодом ERR_ABORTED, не смог — ERR_UNKNOWN_URL_SCHEME.

Как выглядит ошибка на смартфоне

Во встроенном браузере приложения ошибка выглядит как простая страница без оформления. Текст ошибки задан в строках Chromium для Android: «Webpage not available» — «Веб-страница недоступна», затем «The webpage at … could not be loaded because:» — «Не удалось загрузить страницу по адресу …, потому что:» и код net::ERR_UNKNOWN_URL_SCHEME. Вместо адреса сайта в сообщении находится сама ссылка, например tel:+79001234567 или whatsapp://send?phone=…. Содержимое страницы, с которой вы нажали кнопку, при этом пропадает, и вернуться можно только кнопкой «Назад».

Многие пользователи видят ошибку на мобильных устройствах при попытке позвонить, написать письмо, открыть карту или оплатить заказ через приложение банка. Часто некоторые кнопки в том же приложении работают, а другие нет: обычные ссылки на страницы открываются, а ссылки определённого типа — специфичных для других приложений — вызывают ошибку.

Где эту ошибку показывают на самом деле

В файле net_error_auto_reloader.cc, который решает, перезагружать ли страницу с ошибкой, есть прямое указание:

// For now, net::ERR_UNKNOWN_URL_SCHEME is only being displayed on // Chrome for Android.

То есть на экран ошибка выходит на Android. И главный источник там — Android WebView, встроенный браузер, на котором работают страницы внутри приложений: банков, магазинов, служб доставки, приложений-обёрток сайтов.

В коде WebView (aw_content_browser_client.cc) поведение описано так: WebView сам внешние приложения не запускает, а даёт приложению, в котором он встроен, перехватить запрос и решить, что делать. Если приложение ссылку не перехватило, WebView пытается загрузить её как страницу и отдаёт ERR_UNKNOWN_URL_SCHEME. Для разработчика это код ERROR_UNSUPPORTED_SCHEME = -10 с описанием «Unsupported URI scheme» в классе WebViewClient.

Стенд: что происходит на компьютере

Проверили в Chromium 149 под Linux, без установленных приложений для этих схем. Результаты:

Что сделалиРезультат
Переход на foo://x, whatsapp://send, tel:, mailto:, intent://, market://ERR_ABORTED за 6–30 мс, страница не сменилась
Переход на адрес с опечаткой htps://example.com/ERR_ABORTED, экрана ошибки нет
Нажатие на такие ссылки на страницестраница осталась на месте, ошибки нет
Переадресация сервера 302 на foo://, htps://, tel:ERR_ABORTED
Картинка hhttps://…, стиль htps://…, скрипт htp://…, фон url('htps://…')в консоли «Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME»
fetch('foo://x')TypeError: Failed to fetch, в консоли «URL scheme "foo" is not supported»
Рамка <iframe src="foo://x"> без нажатияERR_ABORTED, «Not allowed to launch 'foo://x' because a user gesture is required»

Вывод: на компьютере Chrome любую незнакомую схему считает внешней и отдаёт системе — та либо откроет приложение, либо ничего не сделает. Экрана с ERR_UNKNOWN_URL_SCHEME при этом нет. Зато код появляется в консоли разработчика, если на сайте есть картинки, стили или скрипты с опечаткой в начале адреса.

Почему возникает ошибка: частые причины

  • Приложение на WebView не обрабатывает ссылки. Кнопки «Позвонить» (tel:), «Написать» (mailto:), ссылки на WhatsApp, Telegram, Viber, карты и банковские приложения внутри приложения ведут на ошибку.
  • Ссылка intent:// открыта не в Chrome. Такие ссылки понимает Chrome на Android, а встроенный браузер чужого приложения — не всегда.
  • Нужное приложение не установлено, а страница не предусмотрела запасной адрес.
  • Опечатка в адресе: htps://, hhttps://, http// без двоеточия, ttps:// — в ссылке, картинке или скрипте.
  • Устаревшая версия приложения, в которой обработка ссылок ещё не была исправлена.

Как исправить ошибку на телефоне: способы для пользователя

Самым простым решением является первый способ — его и следует попробовать сначала. Остальные шаги нужны, если ошибка повторяется.

1. Откройте страницу в обычном браузере

Во многих приложениях в меню страницы есть пункт «Открыть в браузере» — три точки в углу экрана. Chrome и Яндекс Браузер передают ссылки tel:, whatsapp: и intent: нужному приложению. Если такого пункта нет, скопируйте адрес страницы и вставьте его в браузер.

2. Обновите приложение

Откройте Google Play, найдите приложение и нажмите «Обновить». Разработчики исправляют обработку ссылок, и проблема может уйти после обновления. Заодно обновите «Android System WebView» и Chrome — это отдельные приложения в Google Play.

3. Очистите кэш и данные приложения

После очистки данных приложение заново загрузит свои файлы. Если ошибку вызывали повреждённые файлы кэша, это поможет; если приложение просто не обрабатывает такие ссылки — нет.

«Настройки» → «Приложения» → выберите приложение → «Хранилище» → «Очистить кэш». Если не помогло — «Очистить данные»; учтите, что после этого придётся снова войти в аккаунт приложения.

4. Установите приложение, на которое ведёт ссылка

Если кнопка открывает WhatsApp, Telegram или приложение банка, а его на телефоне нет, ссылке некуда вести. Установите приложение или воспользуйтесь веб-версией сервиса.

5. Напишите в поддержку разработчика

Если ошибка повторяется на одной и той же кнопке, это недоработка приложения, и исправить её может только разработчик. Опишите, какую кнопку нажимали, и приложите снимок экрана с адресом из сообщения об ошибке.

6. Проверьте, какое приложение открывает ссылки

На Android можно вручную выбрать, какое приложение открывает ссылки определённого сайта: «Настройки» → «Приложения» → выберите приложение → «Открывать по умолчанию». Если там включено открытие поддерживаемых ссылок в приложении, которое с ними не справляется, отключение этой функции может помочь: ссылка откроется в браузере. Названия пунктов на разных устройствах могут отличаться.

Что не поможет

  • Переустановка браузера. Ошибка возникает внутри приложения, а не в Chrome, поэтому удаление и установка браузера ничего не изменят.
  • Отключение автоматического определения прокси, сброс сети и смена DNS. Ссылка tel: или whatsapp: не идёт в интернет, до сети дело не доходит.
  • Повторные нажатия. Попытка за попыткой будет приводить к той же ошибке. Однако иногда помогает долгое нажатие на кнопку: в меню появляется пункт «Копировать ссылку», и номер или адрес можно вставить вручную.

Образец письма в службу поддержки

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

Здравствуйте! В приложении на экране «Контакты» при нажатии кнопки «Позвонить» появляется ошибка net::ERR_UNKNOWN_URL_SCHEME, совершение звонка невозможно. Телефон — Android 14, приложение последней версии. Пожалуйста, помогите исправить. Снимок экрана прилагаю.

Такое письмо помогает получить ответ быстрее: разработчику не нужно ничего уточнять, а описание ошибки сразу указывает на её решение.

Как исправить ошибку на компьютере

На экране ERR_UNKNOWN_URL_SCHEME на компьютере почти не встречается. Если ссылка вида tel: или whatsapp:// ничего не открывает, проверьте, какая программа назначена для неё: в Windows — «Параметры» → «Приложения» → «Приложения по умолчанию» → «Выбрать значения по умолчанию по типу ссылки» (в Windows 10 — «Выбор стандартных приложений для протоколов»). В Chrome можно посмотреть разрешения сайтов на открытие приложений: «Настройки» → «Конфиденциальность и безопасность» → «Настройки сайтов» → «Дополнительные разрешения» → «Обработчики протоколов».

Если же вы видите код в консоли разработчика (F12 → «Консоль»), это ошибка на сайте: какой-то файл подключён с неправильной схемой. Обычный посетитель её не заметит, кроме того, что не загрузится картинка или стиль.

Что делать владельцу приложения

Правило зафиксировано в документации класса WebViewClient: если WebViewClient задан, ответ true из shouldOverrideUrlLoading отменяет загрузку адреса в WebView, а false — продолжает её «as usual», то есть как страницу. Без WebViewClient WebView сам просит систему выбрать обработчик. Поэтому ошибка появляется именно у приложений, которые задали свой WebViewClient, но обрабатывают в нём только веб-адреса.

Исправление — передавать системе всё, что не начинается с http и https:

override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
    val uri = request.url
    if (uri.scheme == "http" || uri.scheme == "https") return false
    return try {
        val intent = if (uri.scheme == "intent")
            Intent.parseUri(uri.toString(), Intent.URI_INTENT_SCHEME)
        else Intent(Intent.ACTION_VIEW, uri)
        view.context.startActivity(intent)
        true
    } catch (e: ActivityNotFoundException) {
        true // приложения нет — не загружать адрес в WebView
    }
}

Возможно, ваше приложение уже переопределяет shouldOverrideUrlLoading для своих задач — тогда достаточно добавить ветку для не-веб схем в начало метода. Проверить работу помогут инструменты разработчика: в Chrome на компьютере откройте chrome://inspect, подключите телефон по USB и посмотрите консоль страницы внутри WebView — для этого в приложении должна быть включена отладка WebView.

Для ссылок intent:// стоит дополнительно открыть запасной адрес из параметра S.browser_fallback_url, если приложения нет. В документации Chrome для Android сказано: «When an intent isn't resolved or an external application doesn't launch, the user can be redirected to the fallback URL». Важно и ограничение из той же документации: Chrome не запускает приложение, если ссылку пытается открыть таймер JavaScript без нажатия пользователя.

Что делать владельцу сайта

  • Проверьте адреса картинок, стилей и скриптов: начало htps://, hhttps:// или htp:// даёт ERR_UNKNOWN_URL_SCHEME в консоли. Найти их можно поиском по коду страницы или в журнале консоли.
  • Ссылки на мессенджеры давайте с запасным веб-адресом: https://wa.me/… и https://t.me/… вместо whatsapp:// и tg://. Веб-адрес откроется в любом браузере, в том числе внутри чужого приложения, а на телефоне с установленным мессенджером обычно ведёт в него.
  • Если сайт часто открывают из приложений, проверьте кнопки «Позвонить» и «Написать» на телефоне внутри популярных приложений, откуда к вам приходят посетители.

Источники

  • Chromium, net/base/net_error_list.h — коды −300, −301, −302
  • Chromium, content/browser/loader/navigation_url_loader_impl.cc — когда ставится ERR_ABORTED, а когда ERR_UNKNOWN_URL_SCHEME
  • Chromium, components/error_page/content/browser/net_error_auto_reloader.cc — ошибка показывается в Chrome для Android
  • Chromium, android_webview/browser/aw_content_browser_client.cc — WebView сам не запускает внешние приложения
  • Android, WebViewClient.java — shouldOverrideUrlLoading и ERROR_UNSUPPORTED_SCHEME
  • developer.chrome.com/docs/android/intents — ссылки intent:// и browser_fallback_url

Похожие ошибки

  • ERR_FAILED — общая ошибка загрузки без уточнения причины.
  • ERR_CACHE_MISS — браузеру нужны данные формы, которых нет в кэше.
  • ERR_TOO_MANY_REDIRECTS — переадресации сайта зациклились.
  • ERR_TUNNEL_CONNECTION_FAILED — прокси не открыл туннель к сайту.
  • ERR_FILE_NOT_FOUND — браузер не нашёл локальный файл или файл расширения.
  • ERR_CLEARTEXT_NOT_PERMITTED — приложение на WebView запретило себе адреса с http.

Границы замера

Стенд — Chromium 149 под Linux, 18.10.2026, без приложений, назначенных для схем tel:, whatsapp: и других. Android WebView и Chrome для Android на стенде не запускали: их поведение описано по исходному коду Chromium и документации Android. Если для схемы на компьютере есть программа, Chrome показывает окно «Открыть приложение?» — этот случай мы не проверяли.

Коротко

ERR_UNKNOWN_URL_SCHEME — движок не знает, как открыть ссылку вида tel:, whatsapp:// или intent://, и не передал её другой программе. На экране ошибка бывает почти только на Android, чаще всего во встроенном браузере приложений. Пользователю — открыть страницу в Chrome или Яндекс Браузере, обновить приложение и очистить его кэш. Разработчику — обрабатывать не-веб схемы в shouldOverrideUrlLoading. На компьютере тот же код в консоли означает опечатку в адресе файла на сайте.

Вопросы и ответы

FAQ по теме

Что означает net::ERR_UNKNOWN_URL_SCHEME?+
Браузерный движок получил адрес со схемой, которую не умеет загружать сам и не может передать другой программе. Схема — часть адреса до двоеточия: https, tel, mailto, whatsapp, intent. Код ошибки в Chromium — −302.
Почему ошибка появляется в приложении, а не в браузере?+
Чаще всего её показывает Android WebView — встроенный браузер внутри приложений. Он сам не запускает другие приложения: ссылку tel: или whatsapp:// должно перехватить приложение, в котором открыта страница. Если разработчик этого не сделал, вместо звонка или чата появляется ошибка.
Как исправить ошибку на телефоне?+
Откройте ту же страницу в обычном браузере — Chrome или Яндекс Браузере: они передают такие ссылки нужному приложению. Обновите приложение, очистите его кэш, а если не помогло — напишите в поддержку разработчика.
Бывает ли эта ошибка на компьютере?+
На экране — почти никогда. На стенде Chromium 149 переходы по ссылкам tel:, whatsapp:// и с опечаткой htps:// заканчивались ошибкой ERR_ABORTED, страница оставалась на месте. А вот картинки, стили и скрипты с такими адресами дают в консоли «Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME».
Что делать владельцу сайта или приложения?+
В приложении на WebView — обрабатывать ссылки с не-веб схемами в методе shouldOverrideUrlLoading и передавать их системе. На сайте — проверить адреса картинок, стилей и скриптов на опечатки в начале адреса.
Читайте также

Связанные материалы

SEO

ERR_CACHE_MISS: «Подтвердите повторную отправку формы»

ERR_CACHE_MISS Chrome показывает, когда вы возвращаетесь кнопкой «Назад» на страницу после отправки формы, а сайт запретил её сохранять. Проверили на стенде, какие заголовки дают ошибку, и посчитали, у скольких сайтов она возможна.

SEO

ERR_FAILED: страница не загрузилась

ERR_FAILED — общая ошибка Chromium без причины. Проверили в Chromium 149: сбойный service worker даёт её на каждом переходе, лечат Ctrl+Shift+R и очистка данных.

SEO

ERR_TOO_MANY_REDIRECTS: сайт отправляет по кругу

ERR_TOO_MANY_REDIRECTS — сайт переадресует браузер по кругу. Проверили на стенде, после скольких переходов сдаются Chrome и Firefox, почему ошибка остаётся после исправления и что нашли при обходе живых сайтов.

SEO

ERR_TUNNEL_CONNECTION_FAILED: туннель через прокси не установлен

Прокси отказался открыть туннель к HTTPS-сайту. Проверили в Chromium 149 15 ответов прокси: какие дают ERR_TUNNEL_CONNECTION_FAILED и как исправить.