Как заставить Chrome принять обработчик пользовательского протокола

Я могу получить мое веб-приложение, чтобы Chrome зарегистрировал пользовательский обработчик протокола " web+", чтобы он отображался в разделе Настройки->(Дополнительно)->конфиденциальность->Настройки контента->обработчики->управление обработчиками.

тем не менее, он показывает сайт как "нет", и хотя мой сайт отображается в раскрывающемся списке, когда я выбираю свой сайт в этом раскрывающемся списке, Windows дает мне сообщение о том, что "никакие приложения не установлены, чтобы открыть этот тип ссылки (web+mycustomscheme)...Найдите приложение в магазине " и нажмите кнопку Сообщение Windows приводит обратно к выпадающему показу " нет " (и нажатие на ссылки в моей пользовательской схеме не работает).

Как заставить его принять мой сайт в качестве обработчика?

Это прекрасно работает в Firefox, кстати.

30
задан Brett Zamir
08.05.2023 21:19 Количество просмотров материала 2517
Распечатать страницу

1 ответ

для первой проблемы (получение Chrome для регистрации вашего приложения с помощью пользовательского протокола), на основе моей недавней работы, пытающейся активных внешних URL-адресов пользовательского протокола, это то, что Chrome все еще не очень хорошо обрабатывает.

ошибка здесь (https://bugs.chromium.org/p/chromium/issues/detail?id=560809) связано с запуском этих протоколов из омнибокса или командной строки, но я также думаю, что это применимо, когда ссылка активируется через javascript (окно.расположение или создание iframe с этим src).

из того, что я могу сказать, это все еще нерешенная проблема.

теперь - во второй части (где Windows говорит, что не знает, как обращаться с протоколом и предлагает App Store). Вы должны зарегистрировать свой протокол в Windows через реестр. Это так же просто, как добавление специально отформатированного ключа в HKEY_CURRENT_USER\Software\Classes, как описано здесь: https://msdn.microsoft.com/en-us/library/aa767914(В=и 85).аспн

Примечание. Если вы будете следовать инструкциям на этой странице, вы зарегистрируете обработчик протокола для всех пользователей этой машины, а приложение, выполняющее регистрацию, потребует повышения прав (Admin). Если вы используете HKEY_CURRENT_USER\Software\Classes вместо HKEY_CLASSES_ROOT, ваша регистрация все равно будет отображаться под HKEY_CLASSES_ROOT, но не потребует создания администратором, а будет работать только для текущего пользователь. Так что подбирай свой яд.

HKEY_CLASSES_ROOT-это вид представления, состоящий из всех\Software \ Classes из HLEY_CURRENT_USER в сочетании с HKEY_LOCAL_MACHINE. Я считаю, но не подтвердил, что HKCU переопределяет HKLM, но если вы попытаетесь создать ключ непосредственно в ключе HKEY_CLASSES_ROOT, он попытается записать его в HKLM, предоставив вам доступ запрещен, если у вас нет прав.

надеюсь, это поможет. Удача.

3
отвечен J. Brad Harris 2023-05-10 05:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх