Вот как это работает:
Когда пользователь кликает на элемент (например, `<div class="codeMessage">` или `<div class="quoteMessage">`), скрипт проверяет, поддерживает ли браузер функцию выделения текста и есть ли в элементе текст.
Если всё в порядке, скрипт выделяет весь текст внутри элемента, чтобы пользователь мог сразу скопировать его (например, нажатием Ctrl+C).
Если текст отсутствует или браузер не поддерживает выделение, в консоли появляется предупреждение.
Если что‑то идёт не так (например, ошибка в браузере), скрипт перехватывает ошибку и выводит её в консоль, чтобы не сломать страницу.
Простыми словами, этот код помогает быстро выделить текст в определённых блоках на странице одним кликом, с учётом возможных ошибок и старых браузеров.
Код для установки на страницу и комментарии к нему:
Код
<script>$('div.codeMessage, div.quoteMessage').on('click', function() {
const element = this;
try {
if (window.getSelection && element.innerText) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
} else {
console.warn('Выделение текста не поддерживается или элемент является пустым.');
}
} catch (error) {
console.error('Ошибка при выборе текста:', error);
}
});
// Разработчик: jaguar37rus
// Сайт: https://htmlstart.ucoz.net/</script>
const element = this;
try {
if (window.getSelection && element.innerText) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
} else {
console.warn('Выделение текста не поддерживается или элемент является пустым.');
}
} catch (error) {
console.error('Ошибка при выборе текста:', error);
}
});
// Разработчик: jaguar37rus
// Сайт: https://htmlstart.ucoz.net/</script>