Скрипты для интеграции
Здесь собраны все необходимые скрипты для интеграции вашего сайта с 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>