Добавление ссылки на источник при копировании текста
Нашёл вот такой интересный скрипт, который добавляет ссылку на источник при копировании текста.
document.addEventListener('copy', (event) => { const pagelink = `\nИсточник: ${document.location.href}`; event.clipboardData.setData('text/plain', document.getSelection() + pagelink); event.preventDefault(); }); Но в нём очень не хватает двух вещей: - Действовать только при копировании текста, который в том числе входит в div id="content"(т.е., к примеру, чтобы не добавлялось ссылка, если посетитель копирует комментарий или в сайдбаре что-то). - И минимальное количество символов, при которых происходит добавление. К примеру, задать срабатывание при выделении от 50 символов. Помогите, пожалуйста, наделить скрипт этими возможностями. |
document.addEventListener('copy', (event) => { const container = document.querySelector('#document'); const selection = document.getSelection(); const text = selection.toString(); if( text.length >= 50 && ( container.contains(selection.anchorNode) || container.contains(selection.focusNode) ) ) { event.clipboardData.setData('text/plain', `${text}\nИсточник: ${document.location.href}`); event.preventDefault(); } }); |
Aetae
Большое спасибо! Отменно работает :dance: |
Часовой пояс GMT +3, время: 07:13. |