Перейти к содержанию

Произвольные ссылки в url button: различия между версиями

Материал из Wiki yaboard
Содержание
м Ark rusinov-9121383 переименовал страницу "Любые ссылки в url button" в "Произвольные ссылки в url button" без оставления перен…
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{metadesc| Нюансы создания навыков для разработчиков }}
{{metadesc| Нюансы создания навыков для разработчиков }}
__NOEDITSECTION__
__NOEDITSECTION__
__TOC__




Строка 8: Строка 9:
Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как <span class="tocopy">yandexnavi://build_route_on_map?</span>.
Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как <span class="tocopy">yandexnavi://build_route_on_map?</span>.


Как быть?
При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?




Строка 15: Строка 16:


Поможет маленький лайфхак в три шага:
Поможет маленький лайфхак в три шага:
# из навыка - ссылка на https;
# В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
# по https расположен однострочный php-скрипт;
# По этому url расположим простейший скрипт с редиректом;
# из скрипта - редирект в навигатор:
# При нажатии на кнопку произойдёт нужный нам '''редирект в навигатор'''.
 
Пример:


  header('Location: yandexnavi://build_route_on_map?lat_to=' . $_GET['lat_to'] . '&lon_to=' . $_GET['lon_to']);
  header('Location: yandexnavi://build_route_on_map?lat_to=' . $_GET['lat_to'] . '&lon_to=' . $_GET['lon_to']);
Строка 24: Строка 27:
Готово!
Готово!


[[Category:Яндекс.Диалоги]]
 
Таким же способом можно реализовать '''кликабельные номера телефонов''':
* Выводим в навыке номер телефона (пусть будет 81234567890)
* При клике производится запрос на сервер (например, такой: https://myskill.ru/callto/81234567890)
* сервер возвращает редирект tel:81234567890
 
 
[[Category:FAQ(ЧАВО)]]
[[Category:Диалоги]]

Текущая версия от 08:34, 23 ноября 2020

Задача

Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как yandexnavi://build_route_on_map?.

При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?

Решение

Поможет маленький лайфхак в три шага:

  1. В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
  2. По этому url расположим простейший скрипт с редиректом;
  3. При нажатии на кнопку произойдёт нужный нам редирект в навигатор.

Пример:

header('Location: yandexnavi://build_route_on_map?lat_to=' . $_GET['lat_to'] . '&lon_to=' . $_GET['lon_to']);


Готово!


Таким же способом можно реализовать кликабельные номера телефонов:

  • Выводим в навыке номер телефона (пусть будет 81234567890)
  • При клике производится запрос на сервер (например, такой: https://myskill.ru/callto/81234567890)
  • сервер возвращает редирект tel:81234567890