Скрипты для интеграции

Здесь собраны все необходимые скрипты для интеграции вашего сайта с Telegram MiniApp

Обработка телефонных звонков, email и виджета обратной связи

Эти скрипты помогут корректно обрабатывать клики по телефонным ссылкам, email-ссылкам и кнопкам "Перезвоните мне" в вашем Telegram MiniApp. Выберите версию скрипта в зависимости от того, какой язык программирования вы используете.

TypeScript

Код для обработки телефонных ссылок, email-ссылок и кнопок "Перезвоните мне" в Telegram MiniApp (TypeScript)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 // Обработчик кликов по телефонным ссылкам, email и кнопкам "Перезвоните мне" <script> const currentUrl = new URL(window.location.href); const telegappId = currentUrl.searchParams.get('telegapp_id'); if (telegappId) { document.addEventListener('click', (e: MouseEvent) => { const target = e.target; if (!(target instanceof HTMLElement)) return; // Телефонные ссылки const telLink = target.closest('a[href^="tel:"]') as HTMLAnchorElement | null; if (telLink) { e.preventDefault(); window.open(telLink.href, '_blank'); return; } // Email ссылки const mailLink = target.closest('a[href^="mailto:"]') as HTMLAnchorElement | null; if (mailLink) { e.preventDefault(); window.open(mailLink.href, '_blank'); return; } // Кнопки "Перезвоните мне" const callbackLink = target.closest('a[href="#callbackwidget"]') as HTMLAnchorElement | null; if (callbackLink) { e.preventDefault(); const queryString = currentUrl.search.substring(1); const fullUrl = `${window.location.origin}/${queryString ? '?' + queryString : ''}#callbackwidget`; window.open(fullUrl, '_blank'); return; } }); } </script>

JavaScript

Код для обработки телефонных ссылок, email-ссылок и кнопок "Перезвоните мне" в Telegram MiniApp (JavaScript)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 // Обработчик кликов по телефонным ссылкам, email и кнопкам "Перезвоните мне" <script> const currentUrl = new URL(window.location.href); const telegappId = currentUrl.searchParams.get('telegapp_id'); if (telegappId) { document.addEventListener('click', (e) => { const target = e.target; if (!(target instanceof HTMLElement)) return; // Телефонные ссылки const telLink = target.closest('a[href^="tel:"]'); if (telLink) { e.preventDefault(); window.open(telLink.href, '_blank'); return; } // Email ссылки const mailLink = target.closest('a[href^="mailto:"]'); if (mailLink) { e.preventDefault(); window.open(mailLink.href, '_blank'); return; } // Кнопки "Перезвоните мне" const callbackLink = target.closest('a[href="#callbackwidget"]'); if (callbackLink) { e.preventDefault(); const queryString = currentUrl.search.substring(1); const fullUrl = `${window.location.origin}/${queryString ? '?' + queryString : ''}#callbackwidget`; window.open(fullUrl, '_blank'); return; } }); } </script>