#javascript #uri #microsoft-edge
#javascript #uri #microsoft-edge
Вопрос:
У меня есть эта проблема, когда у меня есть небольшая исполняемая программа, которая устанавливается на клиентский компьютер и затем регистрируется в пользовательской схеме URI customUri:X
Однако в настоящее время я все равно не могу найти, чтобы проверить, является ли эта схема uri действительной и что исполняемый файл установлен с javascript на стороне клиента. Следует отметить, что в моем приложении работает только браузер Edge на основе Chromium, поэтому решения должны быть совместимы для этого.
Я застреваю, когда браузер выдает запрос «Этот веб-сайт пытается открыть приложение Y». Здесь клиент может нажать OK (и, возможно, установить флажок «делать это всегда») или Отменить. Это приглашение — это то, что разрушает мои решения по таймауту, потому что оно не блокирует выполнение веб-сайта.
Что мне нужно, так это проверить, запущена ли программа с использованием пользовательского uri, и если это не так, мне нужно перенаправить клиентов на мою страницу загрузки для установки на указанный исполняемый файл.
Что я пробовал:
- Установите время ожидания для перенаправления на страницу загрузки после изменения
document.location = 'customUri:X'
- Установите логическое значение, если произошла ошибка, а затем используйте тайм-аут для проверки этого логического значения
Есть ли у вас какие-либо идеи о том, как этого можно достичь с помощью Javascript в браузере Edge на основе Chromium?
Я надеюсь, что вопрос имеет смысл.
Комментарии:
1. Я могу воспроизвести вашу проблему в своем браузере Edge. И поведение такое же в Chrome. Приглашение не может быть обнаружено в JavaScript, поэтому я думаю, что вы не можете проверить, действителен ли пользовательский uri с помощью JavaScript. В этой ситуации, я думаю, вы можете использовать только некоторый внутренний код, чтобы проверить, открыта ли программа или правильно ли установлена схема uri в реестре.
2. Спасибо за ваш ответ. Проблема в том, что мое приложение установлено на удаленном сервере, где к нему подключаются клиенты, и из-за этого я не могу использовать какой-либо внутренний код или проверки реестра, потому что все должно обрабатываться на стороне клиента с помощью javascript… Если выполнить эту проверку невозможно, мне нужно будет найти другое решение…
3. Я понятия не имею о других способах проверить это в javascript. Давайте подождем и посмотрим, появятся ли у других участников сообщества какие-нибудь хорошие идеи.