modified: main_dc/valitovgaziz/html/scripts.js
add universal handler for button sendMessageTelegram
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
function saveContact() {
|
function saveContact() {
|
||||||
// Создаем содержимое vCard (VCF)
|
// Создаем содержимое vCard (VCF)
|
||||||
const vCardData = `BEGIN:VCARD
|
const vCardData = `BEGIN:VCARD
|
||||||
VERSION:3.0
|
VERSION:3.0
|
||||||
FN:Валитов Газиз Камилевич
|
FN:Валитов Газиз Камилевич
|
||||||
N:Валитов;Газиз;Камилевич
|
N:Валитов;Газиз;Камилевич
|
||||||
@@ -17,38 +17,38 @@ URL:https://vk.ru/id378105199
|
|||||||
BDAY:1985-10-27
|
BDAY:1985-10-27
|
||||||
END:VCARD`;
|
END:VCARD`;
|
||||||
|
|
||||||
// Создаем Blob (бинарный объект) с данными vCard
|
// Создаем Blob (бинарный объект) с данными vCard
|
||||||
const blob = new Blob([vCardData], { type: 'text/vcard' });
|
const blob = new Blob([vCardData], { type: 'text/vcard' });
|
||||||
|
|
||||||
// Создаем URL для скачивания
|
// Создаем URL для скачивания
|
||||||
const url = URL.createObjectURL(blob);
|
const url = URL.createObjectURL(blob);
|
||||||
|
|
||||||
// Создаем временную ссылку для скачивания
|
// Создаем временную ссылку для скачивания
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
link.href = url;
|
link.href = url;
|
||||||
link.download = 'valitovgaziz.vcf'; // Имя файла
|
link.download = 'valitovgaziz.vcf'; // Имя файла
|
||||||
link.click();
|
link.click();
|
||||||
|
|
||||||
// Освобождаем память
|
// Освобождаем память
|
||||||
URL.revokeObjectURL(url);
|
URL.revokeObjectURL(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadTermSheet() {
|
function loadTermSheet() {
|
||||||
// Create a temporary anchor element
|
// Create a temporary anchor element
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
|
|
||||||
// Set correct relative path to the PDF file
|
// Set correct relative path to the PDF file
|
||||||
link.href = './assets/docs/TermSheet.pdf';
|
link.href = './assets/docs/TermSheet.pdf';
|
||||||
|
|
||||||
// Set download attribute with filename
|
// Set download attribute with filename
|
||||||
link.download = 'TermSheet.pdf';
|
link.download = 'TermSheet.pdf';
|
||||||
|
|
||||||
// Append to body to make it work in some browsers
|
// Append to body to make it work in some browsers
|
||||||
document.body.appendChild(link);
|
document.body.appendChild(link);
|
||||||
|
|
||||||
// Trigger the download
|
// Trigger the download
|
||||||
link.click();
|
link.click();
|
||||||
|
|
||||||
// Clean up
|
// Clean up
|
||||||
document.body.removeChild(link);
|
document.body.removeChild(link);
|
||||||
}
|
}
|
||||||
@@ -56,6 +56,13 @@ function loadTermSheet() {
|
|||||||
|
|
||||||
// Обработчик для кнопки "Запросить презентацию"
|
// Обработчик для кнопки "Запросить презентацию"
|
||||||
function sendMessageTelegram() {
|
function sendMessageTelegram() {
|
||||||
|
// Проверяем, поддерживает ли браузер диалоги
|
||||||
|
if (typeof window.orientation !== 'undefined' && !window.confirm) {
|
||||||
|
// Для мобильных браузеров без поддержки prompt - открываем Telegram напрямую
|
||||||
|
window.open('https://t.me/valitovgaziz', '_blank');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const message = prompt("Опишите, пожалуйста, ваше предложение или вопрос. Я свяжусь с вами в ближайшее время:");
|
const message = prompt("Опишите, пожалуйста, ваше предложение или вопрос. Я свяжусь с вами в ближайшее время:");
|
||||||
if (message) {
|
if (message) {
|
||||||
const BOT_TOKEN = "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
|
const BOT_TOKEN = "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
|
||||||
@@ -72,18 +79,54 @@ function sendMessageTelegram() {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData
|
body: formData
|
||||||
})
|
})
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
if (data.ok) {
|
if (data.ok) {
|
||||||
alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
|
alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
|
||||||
} else {
|
} else {
|
||||||
console.error('Telegram API Error:', data);
|
console.error('Telegram API Error:', data);
|
||||||
alert("Ошибка: " + (data.description || 'Неизвестная ошибка'));
|
alert("Ошибка: " + (data.description || 'Неизвестная ошибка'));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error("Ошибка:", error);
|
console.error("Ошибка:", error);
|
||||||
alert("Произошла ошибка сети. Попробуйте позже или свяжитесь со мной напрямую.");
|
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();
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user