Лого

Как в эпоху блокировок правильно проставить на сайте ссылку на Telegram

 Брежнев Андрей2 июля 2026 г.
Как в эпоху блокировок правильно проставить на сайте ссылку на Telegram

В этом году (2026 для потомков) Телеграм столкнулся с блокировками ограничениями. Ну в общем без матерного слова не работает. Но актуальность свою не потерял, и массы отказваются уходить из тг.

Работая с сайтами клиентов, я столкнулся с небольшой проблемой. На сайтах указвается ссылка на тг-личку или на чатбота вида https://t.me/username. Вроде как это правильно, но сейчас такая констркция работает плохо. Причина в том что многие ставят умные трехбуквенные обходные технологии, которые включают избранные приложения. То есть приложение телеграм на смартфоне работает, а вот t.me уже работать не будет.

Для обхода этой проблемы написал небольшой js скриптик:



// Навешиваем обработчик на ВСЕ ссылки с классом telegram-link
  document.querySelectorAll('.telegram-link').forEach(function(link) {
    link.addEventListener('click', function(e) {
      e.preventDefault();
      
      // Берём полную ссылку из атрибута href
      var webLink = this.href;
      
      // Извлекаем username из ссылки https://t.me/username
      var username = webLink.replace('https://t.me/', '').replace(/\/.*$/, '').split('?')[0];
      
      // Формируем tg:// ссылку
      var tgLink = 'tg://resolve?domain=' + username;
      
      var opened = false;
      
      // Отслеживаем сворачивание страницы (признак, что Telegram открылся)
      var handleVisibility = function() {
        if (document.hidden) {
          opened = true;
          document.removeEventListener('visibilitychange', handleVisibility);
        }
      };
      document.addEventListener('visibilitychange', handleVisibility);
      
      // Пытаемся открыть Telegram
      window.location.href = tgLink;
      
      // Через 3 секунды проверяем, не открылся ли Telegram
      setTimeout(function() {
        if (!opened) {
          window.location.href = webLink;
        }
      }, 3000);
    });
  });

Как это работает:

  1. При клике скрипт берёт ссылку из href (https://t.me/username)

  2. Вырезает из неё имя пользователя (username)

  3. Формирует tg://resolve?domain=username и пытается открыть

  4. Если через 3 секунды Telegram не открылся — перекидывает на исходную веб-ссылку

 

Рейтинг: 0.0/5 (Оценили: 0)

Читайте также

Рейтинг
1 февраля 2018 г.
Как передать параметры для кроссдоменного iframe, просто и понятно
Рейтинг
28 марта 2018 г.
Реальный вариант работы без онлайн-кассы с соблюдением ФЗ-54. Реализация автоформирования счетов с помощью API сервиса Моё Дело