Как исправить ошибку ERR_UNKNOWN_URL_SCHEME? (9 способов)
Опубликовано: 2023-10-01Ошибка err_unknown_url_scheme — очень распространенная проблема в браузерах, особенно в браузерах Chromium, которая срабатывает, когда вы пробуете новое приложение для Android для проверки его веб-представления. Или приложение на вашем устройстве не может обработать определенное действие, связанное со схемой URL-адресов.
Но это не значит, что вы ничего не можете с этим поделать. В этой статье мы предоставим вам полное руководство по ошибке «err_unknown_url_scheme»: почему она возникает, что это означает и как ее исправить, и все это в очень подробной форме.
Просто оставайтесь с нами и продолжайте читать эту статью. Давайте начнем!
Что означает ошибка err_unknown_url_scheme?
Эта конкретная ошибка err_unknown_url_scheme возникает именно в браузерах Chromium и является результатом присутствующей ошибки, которая впервые была обнаружена в версии Chrome 40. И с тех пор это стало заметным.
Это просто указывает на то, что URL-адрес, который вы пытаетесь открыть, использует схему или протокол, который не распознается и не поддерживается браузером.
Схемы URL-адресов — это префиксы в URL-адресах, которые указывают, как следует получить доступ к ресурсу. Общие схемы URL-адресов, с которыми вы, возможно, знакомы, — это «http://» и «https://», которые используются для веб-страниц, и «mailto://» для адресов электронной почты.
Однако существует множество других схем URL-адресов для различных целей, и если браузер встретит URL-адрес с неподдерживаемой схемой, он отобразит ошибку « ERR_UNKNOWN_URL_SCHEME ».
Чтобы лучше это понять, рассмотрим пример.
Предположим, вы хотите разработать собственное приложение для магазина Google Play. И для этого вам нужно использовать Android Studio, которая является официальной интегрированной средой разработки для среды приложений Android.
Поскольку вы разрабатываете приложение Android для своих пользователей, вам также хотелось бы, чтобы они просматривали содержимое веб-браузера внутри этого конкретного приложения без необходимости переключаться между браузером и вашим приложением. В противном случае это может существенно повлиять на ваш пользовательский опыт, чего вам бы не хотелось.
Чтобы сделать это возможным, вам необходимо добавить класс под названием «WebView», который позволит вам отображать веб-контент непосредственно из вашего собственного приложения. Однако этот браузер не будет иметь типичных функций браузера, таких как панель поиска или другие параметры навигации. Но он успешно отобразит веб-страницу.
На этом этапе это потенциально может вызвать ошибку « err_unknown_url_scheme ». Это может произойти из-за того, что запрошенный вами веб-сайт имеет схему, несовместимую с мобильным устройством.
Прочтите: Полное руководство по миграции HTTP на HTTPS в WordPress.
Что вызывает ошибку err_unknown_url_scheme?
1. Проблема с браузером Chrome
Одной из основных причин возникновения ошибки err_unknown_url_scheme является неспособность вашего веб-представления Google Chrome распознать схему URL-адресов.
Тем не менее, Chrome Webview очень полезен для собственных приложений, но проблема в том, что он способен распознавать только две схемы URL-адресов, то есть протоколы http:// и https://.
Для других схем URL-адресов, таких как mailto://, app://, mail://, buy://, market://, whtsapp://. и т. д. появится ошибка err_unknown_url_scheme.
Примечание. Схема URL-адресов — это набор правил или протоколов, определяющих структуру URL-адресов и то, как они должны интерпретироваться программными приложениями и веб-браузерами.
Однако, если вы разработчик приложения, вы можете предотвратить возникновение этой ошибки, просто используя определенные схемы URL-адресов в своем родном приложении.
3. Несовместимость протоколов
Ошибка net::err_unknown_url_scheme также может возникнуть, если обнаружена проблема совместимости между протоколами вашего веб-браузера и программой. Например, эта конкретная ошибка возникает, если вы звоните на номер телефона с определенного веб-сайта или через приложение и пытаетесь получить доступ к URL-адресам перенаправления.
4. Опечатки
Другая наиболее распространенная причина — опечатка в URL-адресе. Если в URL-адресе есть ошибка, например отсутствующая или неверная схема, браузер не распознает ее.
5. Пользовательские схемы
Некоторые веб-сайты и приложения используют собственные схемы URL-адресов для определенных целей. Если ваш браузер не понимает эти пользовательские схемы, он отобразит ошибку.
6. Устаревшие или несовместимые браузеры
Старые или менее часто используемые веб-браузеры могут не поддерживать определенные схемы URL-адресов или могут содержать ошибки, вызывающие эту ошибку. Обновление браузера может помочь решить эту проблему.
7. Расширения браузера
Расширения и надстройки браузера иногда могут мешать обработке URL-адресов. Отключение расширений или устранение неполадок может устранить ошибку.
8. Проблемы с сайтом
В некоторых случаях ошибка может быть вызвана проблемами на стороне веб-сайта. Веб-сайт может быть неправильно настроен для обработки определенных схем URL-адресов.
9. Ограничения операционной системы
На мобильных устройствах операционные системы могут иметь ограничения на то, какие приложения могут обрабатывать определенные схемы URL-адресов. Если существует несоответствие между схемой URL-адресов и возможностями приложения, это может привести к этой ошибке.
Как исправить ошибку err_unknown_url_scheme?
Это шесть лучших методов, которые помогут вам исправить ошибку err_unknwon_url_scheme независимо от того, являетесь ли вы разработчиком или пользователем внешнего интерфейса. Просто сначала выполните эти простые шаги, а потом мы углубимся в технические моменты.
- Очистите кеш браузера и файлы cookie
- Временно отключите расширения Chrome
- Создайте новый профиль пользователя Chrome.
- Отключить аппаратное ускорение в Chrome
- Попробуйте использовать браузер, отличный от Chrome, по умолчанию.
- Отключите брандмауэры или антивирусную программу.
- Попробуйте открыть в новом окне
- Добавить новое намерение загрузить внешнее приложение
- Отключите все нестандартные схемы URL-адресов.
1. Очистите кеш браузера и файлы cookie.
Кэш браузера предназначен для повышения удобства работы пользователей за счет хранения файлов веб-сайта в кеше, чтобы при следующем посещении веб-сайта он мог загружаться быстрее. Но эти данные кэша со временем повреждаются или устаревают, что приводит к возникновению подобных ошибок. Чтобы это исправить, вам необходимо полностью очистить кеш браузера и файлы cookie.
В Google Chrome выберите «Настройки» > «Конфиденциальность и безопасность» > «Очистить данные просмотра» > «Вы можете снять флажок с истории просмотров и разрешить проверку файлов cookie и других данных сайта, а также кэшированных изображений» > «Очистить данные».
Кроме того, вы можете напрямую ввести этот адрес в браузер Chrome: chrome://settings/privacy. Вы попадете в настройки конфиденциальности, где сможете нажать « Очистить данные просмотра ».
Во всплывающем окне вы увидите множество других опций, но выбирать вам придется следующим образом:
- Выберите временной диапазон «Все время».
- Выберите файлы cookie и другие данные сайта, а также кэшируйте изображения (вы также можете выбрать историю просмотров).
- Нажмите кнопку «Очистить данные».
2. Временно отключите расширения Chrome
Многие ошибки, характерные для Chrome, можно легко исправить, просто исправив расширения Chrome. Иногда эти расширения плохо закодированы и могут быть причиной появления таких сообщений об ошибках. Чтобы выяснить, является ли это причиной проблемы, вам необходимо временно деактивировать их все.
Чтобы просмотреть все установленные расширения Chrome, введите « chrome://extensions/ » в строке URL.
После этого отключите все активные расширения Chrome и проверьте, устранена ли ошибка или нет. Если проблема решена, это означает, что ошибка была вызвана установленным расширением. Чтобы определить виновное расширение, включайте по одному плагину и каждый раз пытайтесь получить доступ к веб-сайту.
3. Создайте новый профиль пользователя Chrome.
Если вышеуказанные методы не устраняют ошибку err_unknown_url_scheme, вместо этого вы можете попробовать создать профиль Chrome нового пользователя.
Для этого перейдите в свой профиль пользователя, расположенный в правом верхнем углу браузера Chrome, где показано изображение вашего профиля. Нажмите на изображение своего профиля > В нижней части всплывающего окна нажмите «+», чтобы добавить новый профиль пользователя.
Это позволит вам создать новый профиль пользователя Chrome. Следуйте инструкциям, показанным во всплывающем окне.
Вы можете создать совершенно новый профиль пользователя Chrome или продолжить работу с существующим профилем Chrome.
После этого следуйте инструкциям, которые помогут вам настроить и персонализировать, и все готово.
Теперь попробуйте получить доступ к веб-странице, которую вы пытались посетить, и посмотрите, сохраняется ли ошибка. Если это не помогло, следуйте следующему способу.
4. Отключите аппаратное ускорение в Chrome.
Chrome использует аппаратные компоненты компьютера, такие как графический процессор (GPU), для выполнения определенных задач и процессов в веб-браузере.
В большинстве случаев эта технология перекладывает некоторые задачи браузера с центрального процессора (ЦП) на специализированные аппаратные компоненты, улучшая производительность и скорость реагирования в определенных сценариях.
Но эта функция не всегда работает как часы, иногда она также лагает, вылетает и даже зависает. Следовательно, чтобы исправить это, вам необходимо отключить или отключить эту функцию аппаратного ускорения.
Для этого откройте браузер Chrome > Настройки > вкладка «Система» > переключите кнопку, чтобы отключить аппаратное ускорение в Chrome.
5. Попробуйте использовать браузер, отличный от Chrome, по умолчанию.
Если ошибка err_unknown_url_scheme продолжает возникать, вы можете попробовать использовать браузер, отличный от Chrome, например Microsoft Edge или Mozilla Firefox по умолчанию. Это связано с тем, что браузер по умолчанию — это тот, который автоматически открывает ссылки, и обычно он предустановлен на вашем устройстве или в Google Chrome.
Процесс изменения браузера по умолчанию на вашем устройстве может различаться в зависимости от используемого вами устройства. Для пользователей Windows 10:
Шаг 1: Нажмите кнопку «Пуск» (значок Windows) в левом нижнем углу экрана.
Шаг 2: Нажмите на значок шестеренки «Настройки» , который выглядит как шестеренка.
Шаг 3. В окне «Настройки» найдите и нажмите «Приложения ».
Шаг 4. В левой части раздела «Приложения» вы увидите список категорий. Нажмите «Приложения по умолчанию».
Шаг 5. Прокрутите вниз, пока не дойдете до раздела «Веб-браузер». Здесь указан ваш текущий веб-браузер по умолчанию (обычно Microsoft Edge).
Шаг 6: Нажмите на название вашего текущего браузера по умолчанию. Появится список установленных веб-браузеров.
Шаг 7: Выберите веб-браузер, который вы хотите установить в качестве нового браузера по умолчанию. Нажмите на нее, чтобы сделать свой выбор.
Шаг 8: Windows попросит вас подтвердить свой выбор. Нажмите кнопку «Все равно переключить» или «Переключить» (формулировка может отличаться в зависимости от вашей версии Windows).
Шаг 9: После подтверждения ваш веб-браузер по умолчанию будет обновлен до выбранного вами.
Для пользователей macOS (Ventura):
Шаг 1. Перейдите в меню Apple , расположенное в левом верхнем углу экрана, и выберите «Настройки системы».
Шаг 2. Теперь нажмите «Рабочий стол и док-станция» на боковой панели.
Шаг 3. Прокрутите вниз и выберите веб-браузер в меню « Веб-браузер по умолчанию » справа.
6. Отключите брандмауэры или антивирусную программу.
Иногда причиной возникновения ошибки err_unknown_url_scheme может быть плохо или неправильно настроенная антивирусная программа или настройки брандмауэра. Чтобы проверить, так ли это, попробуйте временно отключить брандмауэры или антивирус.
Чтобы отключить антивирусную программу на устройствах Windows,
Шаг 1: Сначала вам нужно открыть панель управления вашего компьютера. Для этого нажмите меню « Пуск » на рабочем столе и введите «control» в поле поиска.
Шаг 2. Затем выберите « Система и безопасность » в настройках панели управления. Это приведет вас на новую страницу.
Шаг 3. На новой странице вы увидите опцию « Брандмауэр Защитника Windows ». Нажмите « Разрешить приложение или функцию через брандмауэр Windows». »
Шаг 4. В следующем окне вы увидите список приложений и функций, которым разрешен обмен данными через брандмауэр. Чтобы изменить эти настройки, нажмите «Изменить настройки».
Шаг 5. Если вы не видите своего DNS-клиента в списке, вы можете добавить его, щелкнув значок плюса (+).
Шаг 6. Чтобы временно отключить брандмауэр, снимите флажок рядом с «Брандмауэр Защитника Windows» и нажмите «ОК», чтобы сохранить изменения.
Шаг 7. Альтернативно вы можете настроить параметры брандмауэра, найдя DNS-клиент или любое другое приложение, которое вы хотите настроить, и установив или сняв флажки рядом с нужными настройками.
Шаг 8: Закончив настройку параметров, нажмите «ОК», чтобы сохранить изменения.
Для пользователей Mac
Нажмите значок Apple, расположенный в верхнем левом углу вашего компьютера Mac, и выберите «Настройки системы».
Теперь перейдите в «Сеть» > «Брандмауэр» и переключите его в положение «Выключить».
Если ни один из вышеперечисленных методов не работает, пришло время обратиться к разработчику приложения, который поможет вам решить эту проблему.
7. Попробуйте открыть в новом окне.
До сих пор мы объяснили, как можно исправить ошибку err_unknown_url_scheme через сам браузер Chrome. Теперь пришло время исправить эту ошибку с точки зрения разработчика. Так что у вашего приложения не будет никаких проблем.
Один из самых простых подходов — редактирование href-кода вашего URL-адреса. Просто добавив HTML-код:
target="_blank"
Этот код укажет, как следует открывать браузер, и он откроет Webview в новом окне.
Примечание. Этот метод не будет эффективен в течение более короткого периода времени, поскольку открытие новых окон может раздражать и сбивать с толку ваших пользователей, что потенциально может нанести вред пользовательскому опыту вашего приложения. Эта конкретная строка кода удалит кнопку «Назад», что усложнит пользователям переход между страницами вашего приложения.
8. Добавьте новое намерение загрузить внешнее приложение.
Если вы занимаетесь разработкой Android, вы должны быть знакомы с « намерениями ». Это способ взаимодействия с ОС Android и другими приложениями. Благодаря этому вы можете указать, какие действия необходимо выполнить или какой компонент вы хотите вызвать в своем или других приложениях на устройстве.
Проще говоря, он позволяет вам контролировать, как ваше приложение взаимодействует с другими частями системы Android или с внешними приложениями.
Например, если вы хотите открыть внешнее приложение или обработать определенные типы ссылок внутри вашего приложения, вы можете использовать следующие намерения:
- Ссылки по электронной почте (
mailto://
): если в вашем приложении есть ссылка электронной почты со схемойmailto://
, использование намерения может дать указание Android открыть предпочтительное почтовое приложение пользователя, когда он нажмет на него. - Ссылки на карты (
maps://
): Аналогично, если у вас есть ссылка на карту со схемойmaps://
, намерение может запустить предпочтительное картографическое приложение пользователя. - Ссылки на телефон (
tel://
) и SMS (sms://
). Эти схемы можно использовать для инициирования телефонных звонков или текстовых сообщений соответственно с использованием телефона и приложений для обмена сообщениями пользователя по умолчанию.
Чтобы управлять ими в своем коде, вы можете использовать оператор « if » для проверки схемы URL-адреса. Если схема соответствует одной из уникальных схем, таких как tel://
, sms://
, mailto://
, geo://
или maps://
, вы можете использовать намерение, чтобы открыть соответствующее приложение или выполнить желаемое. действие. С другой стороны, если URL-адрес начинается с http://
или https://
, вы можете обрабатывать его как стандартную веб-ссылку.
Вот пример для вашей справки. Вы можете добавить собственную схему URL-адресов, специфичную для конкретного приложения, в данном случае WhatsApp. Вот как вы можете реализовать переопределение загрузки URL.
@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl (url);
if (url.startsWith (“whatsapp://”)) {
webview.stopLoading();
try {
Intent whatsappIntent = new Intent (Intent.ACTION_SEND);
whatsappIntent.setType (“text/plain”);
whatsappIntent.setPackage (“com.whatsapp”);
whatsappIntent.putExtra (Intent.EXTRA_TEXT, webview.getUrl() + ” – Shared from webview “);
startActivity (whatsappIntent);
} catch (android.content.ActivityNotFoundException ex) {
String MakeShortText = “Whatsapp is not installed”;
Toast.makeText (WebactivityTab1.this, MakeShortText, Toast.LENGTH_SHORT).show();
}
};
};
Пользователей перенаправят в установленное приложение WhatsApp, и они смогут открыть его на своем устройстве. Однако, если WhatsApp недоступен на устройстве пользователя, появится всплывающее сообщение об ошибке с сообщением «WhatsApp не установлен».
Таким образом, Intent помогает вам обеспечить беспрепятственное взаимодействие вашего приложения с другими приложениями и службами на устройстве Android, обеспечивая более плавный и интегрированный пользовательский интерфейс.
9. Отключите все нестандартные схемы URL.
Вместо добавления нового намерения для загрузки внешнего приложения вы можете использовать еще один альтернативный метод — полностью отключить все нестандартные схемы URL-адресов, кроме http:// и https://.
Это полностью решит проблему, и никакие пользовательские или причудливые намерения не будут вам доступны.
Чтобы сделать это в HTML, следуйте приведенному ниже сценарию:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.startsWith("http") || url.startsWith("https")) {
return true;
}else {
webview.stopLoading();
webview.goBack();
Toast.makeText(MainActivity.this, "Error: Link not supported",
Toast.LENGTH_SHORT).show();
}
return false;
}
Теперь всякий раз, когда пользователь нажимает на нестандартную URL-ссылку, появляется всплывающее сообщение с сообщением «Ошибка: ссылка не поддерживается». Таким образом, пользователь не сможет продолжить работу после просмотра этого сообщения об ошибке.
Заключение
В этом посте освещены различные области ошибки err_unknown_url_scheme, такие как ее значение, причины и наилучшие возможные методы устранения неполадок. Вот краткое изложение методов, которые мы упомянули выше.
- Очистите кеш браузера и файлы cookie
- Временно отключите расширения Chrome
- Создайте новый профиль пользователя Chrome.
- Отключить аппаратное ускорение в Chrome
- Попробуйте использовать браузер, отличный от Chrome, по умолчанию.
- Отключите брандмауэры или антивирусную программу.
- Попробуйте открыть в новом окне
- Добавить новое намерение загрузить внешнее приложение
- Отключите все нестандартные схемы URL-адресов.
Вы можете опробовать все эти лучшие решения и сообщить нам, какое из них помогло вам исправить ошибку err_unknown_url_scheme, в разделе комментариев ниже.
Часто задаваемые вопросы
Что означает неизвестная схема URL-адресов?
Это просто указывает на то, что URL-адрес, который вы пытаетесь открыть, использует схему или протокол, который не распознается и не поддерживается браузером.
Как исправить ошибку err_unknown_url_scheme?
Вы можете исправить ошибку err_unknown_url_scheme, выполнив следующие методы:
1. Очистите кеш браузера и файлы cookie.
2. Временно отключите расширения Chrome.
3. Создайте новый профиль пользователя Chrome.
4. Отключите аппаратное ускорение в Chrome.
5. Попробуйте использовать браузер, отличный от Chrome, по умолчанию.
6. Отключите брандмауэры или антивирусную программу.
7. Попробуйте открыть в новом окне.
8. Добавьте новое намерение загрузить внешнее приложение.
9. Отключите все нестандартные схемы URL.