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

рони, спасибо, что откликнулись. Я добавил строчки, если текст захватывается, который в pre, то не добавляется ссылка, а если же выделяется чисто текст, что находится в pre, то добавляется. А как сделать, чтобы в последнем случае тоже не добавлялась?
<div id="content">
<p>Самая мощная в мире ветряная турбина запущена в опытную эксплуатацию. Установка Vestas V236-15 MW собрана для оценки эксплуатационных характеристик на полигоне в Эстерильд в Западной Ютландии.</p>
<div class="code-wrap" data-tip="Двойной клик для выделения кода">
<pre class="code-clear">Тут текст, при выделении которого не должен срабатывать скрипт вставки ссылки на источник при копировании в буфер обмена.</pre>
</div>
<p>Диаметр ротора установки составляет 236 м при длине лопастей 115,5 м. Вырабатываемая на пике мощность достигает 15 МВт. На основе этой установки разработаны проекты целого ряда морских ветроэлектростанций в Европе и США.</p>
</div>
<script>
var ua = window.navigator.userAgent;
var isIE = /MSIE|Trident/.test(ua);

if ( !isIE ) {
document.addEventListener('copy', (event) => {
  const container = document.querySelector('#content');
  const selection = document.getSelection();
  const text = selection.toString();
  
  let el = selection.getRangeAt(0).cloneContents();
  if(el.querySelector('pre')) return;

  if(
    text.length >= 10 && (
      container.contains(selection.anchorNode) ||
      container.contains(selection.focusNode) 
    )  
  ) {
    event.clipboardData.setData('text/plain', `${text}\nИсточник: ${document.location.href}`);
    event.preventDefault();
  }
}); };
</script>
Ответить с цитированием