dicem
@dicem

Как открыть диплинк, только если есть приложение, которое его обрабатывает?

Суть: Есть координаты, из которых я формирую две ссылки

Диплинк
yandexmaps://maps.yandex.ru/?ll=${lnglat[0]},${lnglat[1]}&z=12


Обычная ссылка
https://yandex.ru/maps/?ll=${lnglat[0]},${lnglat[1]}&z=12&l=map


Сейчас у меня есть функция, которую я подсмотрел на стековерфлоу
const onRouteClick = async () => {
  const lnglat = props.coords

  if (lnglat) {
    const handle = window.open(`yandexmaps://maps.yandex.ru/?ll=${lnglat[0]},${lnglat[1]}&z=12`, '_blank', 'popup')

    if (!handle) {
      window.open(`https://yandex.ru/maps/?ll=${lnglat[0]},${lnglat[1]}&z=12&l=map`)
    }
  }
}


Однако эта функция по итогу открывает только диплинку, но в консоль выводит ошибку
Failed to launch 'yandexmaps://maps.yandex.ru/?ll=55.684207,54.902515&z=12' because the scheme does not have a registered handler.


Это наводит меня на мысль, будто бы есть возможность реагировать на window.open в случае ошибки, но он возвращает WindowProxy с которым я хз че делать
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Karetnoy
Используй диплинк через прим.: bingmaps:?cp=40.726966~-74.006076
в данном случае такую ссылку можно открыть на компьютере, через доступное приложение

В данном случае у браузера нет информации, доступа к другим программам (картам - приложениям)

Вместо window.open() лучше

let link =  document.createElement("a")
link.href = "bingmaps:?cp=40.726966~-74.006076"
link.сliсk()


Открой док Microsoft
https://learn.microsoft.com/en-us/windows/uwp/laun...

Спасибо Сергей Лялин, его решение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы