Как в эпоху блокировок правильно проставить на сайте ссылку на 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); }); }); Как это работает: - При клике скрипт берёт ссылку из href (https://t.me/username) - Вырезает из неё имя пользователя (username) - Формирует tg://resolve?domain=username и пытается открыть - Если через 3 секунды Telegram не открылся — перекидывает на исходную веб-ссылку