Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.02.2022, 13:17
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Добавление ссылки на источник при копировании текста
Нашёл вот такой интересный скрипт, который добавляет ссылку на источник при копировании текста.

document.addEventListener('copy', (event) => {
  const pagelink = `\nИсточник: ${document.location.href}`;
  event.clipboardData.setData('text/plain', document.getSelection() + pagelink);
  event.preventDefault();
});


Но в нём очень не хватает двух вещей:
- Действовать только при копировании текста, который в том числе входит в
div id="content"
(т.е., к примеру, чтобы не добавлялось ссылка, если посетитель копирует комментарий или в сайдбаре что-то).
- И минимальное количество символов, при которых происходит добавление. К примеру, задать срабатывание при выделении от 50 символов.

Помогите, пожалуйста, наделить скрипт этими возможностями.
Ответить с цитированием
  #2 (permalink)  
Старый 25.02.2022, 16:30
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

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();
  }
});
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2022, 16:45
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Aetae
Большое спасибо! Отменно работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Как модифицировать скрипт добавляющий текст источник при копировании ondater Общие вопросы Javascript 12 04.02.2017 18:15
Ошибки при копировании файлов Sanu0074 Оффтопик 0 21.06.2015 14:32
Скрытие\показывание поля при вводе текста egor1708 Элементы интерфейса 2 30.11.2012 19:02
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02