The code now uses local storage rather than a cookie to store custom text
This commit is contained in:
@@ -8,22 +8,13 @@ const zoomInBtn = document.getElementById('zoom-in-btn');
|
|||||||
const zoomOutBtn = document.getElementById('zoom-out-btn');
|
const zoomOutBtn = document.getElementById('zoom-out-btn');
|
||||||
let scale = 1; // Начальный масштаб
|
let scale = 1; // Начальный масштаб
|
||||||
|
|
||||||
// Получить cookie
|
// Установление значения поля ввода из local storage
|
||||||
function getCookie(name) {
|
|
||||||
let cookies = document.cookie.split("; ");
|
|
||||||
for (let cookie of cookies) {
|
|
||||||
let [key, value] = cookie.split("=");
|
|
||||||
if (key === name) return decodeURIComponent(value);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.onload = () => {
|
window.onload = () => {
|
||||||
let inputText = getCookie('text');
|
let inputText = localStorage.getItem('userText');
|
||||||
if (inputText) {
|
if (inputText) {
|
||||||
textInput.value = inputText;
|
textInput.value = inputText;
|
||||||
} else {
|
} else {
|
||||||
document.cookie = 'text='
|
localStorage.setItem('userText', '')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,15 +25,15 @@ function logMessage(message, color = 'red') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Генерация QR-кода
|
// Генерация QR-кода
|
||||||
function generateQRCode() {
|
generateBtn.addEventListener('click', () => {
|
||||||
const text = textInput.value.trim();
|
const userText = textInput.value.trim();
|
||||||
document.cookie = `text=${text}`
|
if (!userText) {
|
||||||
if (!text) {
|
|
||||||
logMessage('Введите текст для генерации QR-кода!');
|
logMessage('Введите текст для генерации QR-кода!');
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
localStorage.setItem('userText', userText);
|
||||||
qrCodeDiv.innerHTML = '';
|
qrCodeDiv.innerHTML = '';
|
||||||
QRCode.toCanvas(text, (error, canvas) => {
|
QRCode.toCanvas(userText, (error, canvas) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
logMessage('Ошибка при генерации QR-кода.');
|
logMessage('Ошибка при генерации QR-кода.');
|
||||||
@@ -52,28 +43,25 @@ function generateQRCode() {
|
|||||||
logMessage('');
|
logMessage('');
|
||||||
canvas.style.transform = `scale(${scale})`;
|
canvas.style.transform = `scale(${scale})`;
|
||||||
canvas.style.transformOrigin = 'top';
|
canvas.style.transformOrigin = 'top';
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Обработчик клика по кнопке "Сгенерировать"
|
|
||||||
generateBtn.addEventListener('click', generateQRCode);
|
|
||||||
|
|
||||||
// Скачивание QR-кода
|
// Скачивание QR-кода
|
||||||
downloadQrBtn.addEventListener('click', () => {
|
downloadQrBtn.addEventListener('click', () => {
|
||||||
text = textInput.value.slice(0, 20)
|
let userText = textInput.value.slice(0, 20)
|
||||||
const canvas = qrCodeDiv.querySelector('canvas');
|
const canvas = qrCodeDiv.querySelector('canvas');
|
||||||
if (!canvas) {
|
if (!canvas) {
|
||||||
logMessage('QR-код не сгенерирован!');
|
logMessage('QR-код не сгенерирован!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!text) {
|
if (!userText) {
|
||||||
logMessage('Отсутствует текст в поле для ввода');
|
logMessage('Отсутствует текст в поле для ввода');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
link.href = canvas.toDataURL('image/png');
|
link.href = canvas.toDataURL('image/png');
|
||||||
link.download = `qr-code-${text}.png`;
|
link.download = `qr-code-${userText}.png`;
|
||||||
link.click();
|
link.click();
|
||||||
logMessage('QR-код скачан!', 'green');
|
logMessage('QR-код скачан!', 'green');
|
||||||
});
|
});
|
||||||
@@ -84,7 +72,7 @@ delBtn.addEventListener('click', () => {
|
|||||||
qrCodeDiv.innerHTML = '';
|
qrCodeDiv.innerHTML = '';
|
||||||
textError.innerText = '';
|
textError.innerText = '';
|
||||||
scale = 1;
|
scale = 1;
|
||||||
document.cookie = 'text=';
|
localStorage.removeItem('userText');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Изменить значение шкалы
|
// Изменить значение шкалы
|
||||||
|
|||||||
Reference in New Issue
Block a user