diff --git a/main_dc/valitovgaziz/html/scripts.js b/main_dc/valitovgaziz/html/scripts.js index 267c5b6..3bc1e22 100644 --- a/main_dc/valitovgaziz/html/scripts.js +++ b/main_dc/valitovgaziz/html/scripts.js @@ -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("Произошла ошибка сети. Попробуйте позже или свяжитесь со мной напрямую."); + }); } -} \ No newline at end of file +} + +// Универсальный обработчик для кнопок +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(); +}); \ No newline at end of file