Получить схему URL с помощью JavaScript

1

Мне было интересно, есть ли способ получить схему URL-адреса приложения-браузера с помощью javascript (на мобильном устройстве)?

Например: вы просматриваете веб-страницу на своем телефоне с помощью Google Chrome. Возможно ли, чтобы эта страница запускала некоторый javascript и извлекала схему googlechrome://?

Спасибо!

Редактировать:

Я только выяснил, что объект "навигатор" имеет метод "registerProtocolHandler", который позволяет веб-сайтам регистрироваться как возможные обработчики для определенных протоколов.

Это довольно близко к тому, что мне нужно. Единственная проблема заключается в том, что для этого требуется разрешение от лица, посещающего веб-сайт, что не дополняет поток, который я собираюсь сделать. Кроме того, он не поддерживает Safari на iOS..

  • 0
    Это не сработает? developer.mozilla.org/en-US/docs/Web/API/Window/location
  • 0
    Нет. «Местоположение» дает много полезной информации, такой как протокол, хэш, имя пути и т. Д. Но это не дает мне схему (googlechrome: //)
Показать ещё 3 комментария
Теги:
browser
url
mobile
url-scheme

1 ответ

0

Когда ваш JavaScript будет запущен на веб-странице, пользовательский телефон использовал схему URI (например, googlechrome://), чтобы выбрать веб-браузер, который он установил. Затем браузер запрашивает ваш сайт с помощью веб-протокола, такого как http://. Это то, что предоставит window.location.protocol.

Таким образом, JavaScript не знает о "схемах" в смысле "приложений браузера".

Однако вы можете определить браузер пользователя из своего User Agent, а затем вывести из него возможную схему URI. Тем не менее, вы не можете быть уверены, что пользователь не только открыл Chrome и перешел на ваш сайт, не нажимая на ссылку.

Обратите внимание, что пользовательские агенты не всегда надежны:

пользователи браузера могут изменить значение этого поля, если они захотят (UA spoofing).

  • 0
    Спасибо за ваш ответ, Ксандер. Таким образом, единственный способ сделать это - сопоставить все возможные браузеры с соответствующей схемой на основе ненадежного агента пользователя? Я чувствую, что этот материал должен быть включен в объект окна ..
  • 0
    Да. Какой у вас вариант использования?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню