modified: main_dc/valitovgaziz/html/scripts.js

add universal handler for button sendMessageTelegram
This commit is contained in:
2025-11-09 05:18:40 +05:00
parent 9dd9d8b9ed
commit 39861816f5
+75 -32
View File
@@ -1,6 +1,6 @@
function saveContact() {
// Создаем содержимое vCard (VCF)
const vCardData = `BEGIN:VCARD
// Создаем содержимое vCard (VCF)
const vCardData = `BEGIN:VCARD
VERSION:3.0
FN:Валитов Газиз Камилевич
N:Валитов;Газиз;Камилевич
@@ -17,38 +17,38 @@ URL:https://vk.ru/id378105199
BDAY:1985-10-27
END:VCARD`;
// Создаем Blob (бинарный объект) с данными vCard
const blob = new Blob([vCardData], { type: 'text/vcard' });
// Создаем Blob (бинарный объект) с данными vCard
const blob = new Blob([vCardData], { type: 'text/vcard' });
// Создаем URL для скачивания
const url = URL.createObjectURL(blob);
// Создаем URL для скачивания
const url = URL.createObjectURL(blob);
// Создаем временную ссылку для скачивания
const link = document.createElement('a');
link.href = url;
link.download = 'valitovgaziz.vcf'; // Имя файла
link.click();
// Создаем временную ссылку для скачивания
const link = document.createElement('a');
link.href = url;
link.download = 'valitovgaziz.vcf'; // Имя файла
link.click();
// Освобождаем память
URL.revokeObjectURL(url);
// Освобождаем память
URL.revokeObjectURL(url);
}
function loadTermSheet() {
// Create a temporary anchor element
const link = document.createElement('a');
// Set correct relative path to the PDF file
link.href = './assets/docs/TermSheet.pdf';
// Set download attribute with filename
link.download = 'TermSheet.pdf';
// Append to body to make it work in some browsers
document.body.appendChild(link);
// Trigger the download
link.click();
// Clean up
document.body.removeChild(link);
}
@@ -56,6 +56,13 @@ function loadTermSheet() {
// Обработчик для кнопки "Запросить презентацию"
function sendMessageTelegram() {
// Проверяем, поддерживает ли браузер диалоги
if (typeof window.orientation !== 'undefined' && !window.confirm) {
// Для мобильных браузеров без поддержки prompt - открываем Telegram напрямую
window.open('https://t.me/valitovgaziz', '_blank');
return;
}
const message = prompt("Опишите, пожалуйста, ваше предложение или вопрос. Я свяжусь с вами в ближайшее время:");
if (message) {
const BOT_TOKEN = "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
@@ -72,18 +79,54 @@ function sendMessageTelegram() {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
if (data.ok) {
alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
} else {
console.error('Telegram API Error:', data);
alert("Ошибка: " + (data.description || 'Неизвестная ошибка'));
}
})
.catch(error => {
console.error("Ошибка:", error);
alert("Произошла ошибка сети. Попробуйте позже или свяжитесь со мной напрямую.");
});
.then(response => response.json())
.then(data => {
if (data.ok) {
alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
} else {
console.error('Telegram API Error:', data);
alert("Ошибка: " + (data.description || 'Неизвестная ошибка'));
}
})
.catch(error => {
console.error("Ошибка:", error);
alert("Произошла ошибка сети. Попробуйте позже или свяжитесь со мной напрямую.");
});
}
}
}
// Универсальный обработчик для кнопок
function setupButtonHandlers() {
const buttons = document.querySelectorAll('button[onclick*="sendMessageTelegram"]');
buttons.forEach(button => {
// Удаляем старые обработчики
button.removeAttribute('onclick');
// Добавляем универсальные обработчики
button.addEventListener('click', handleTelegramButtonClick);
button.addEventListener('touchstart', handleTelegramButtonClick, { passive: true });
});
}
// Обработчик кликов для Telegram кнопок
function handleTelegramButtonClick(event) {
event.preventDefault();
event.stopPropagation();
// Для touch-событий, предотвращаем повторное срабатывание
if (event.type === 'touchstart') {
const now = Date.now();
if (this.lastTouch && (now - this.lastTouch) < 500) {
return;
}
this.lastTouch = now;
}
sendMessageTelegram();
}
// Инициализация при загрузке страницы
document.addEventListener('DOMContentLoaded', function () {
setupButtonHandlers();
});