![]() |
![]() |
#1 |
Junior Member
Студент
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956
|
![]()
На сайте стоит очень нужный мне скрипт источника:
<script type="text/javascript"> document.addEventListener('copy', function () { var s = window.getSelection() var oldRange = s.getRangeAt(0) var newdiv = document.createElement('div') newdiv.style.position = 'absolute'; newdiv.style.left = '-99999px'; document.body.appendChild(newdiv) newdiv.appendChild(oldRange.cloneContents()) var copyright = document.createElement('span') copyright.innerHTML = 'Источник https://www.сайт.ru '; copyright.setAttribute('id', 'copyright-text') newdiv.appendChild(copyright) r = document.createRange() s.removeAllRanges() r.selectNode(newdiv) s.addRange(r) window.setTimeout(function () { s.removeAllRanges() s.addRange(oldRange) newdiv.remove() }, 100); }); Нужно 2 вещи в этот скрипт добавить. 1. Очень не нравится, что если человек это копирует в word, то текст копируется на сером (маркерном) фоне... Как-то можно это изменить?? (без этого скрипта, копируется нормально - красиво) 2. Скрипт при копировании добавляет строку - Источник .... А надо чтобы он еще одно слово скрипт при копировании убрал! Слово это слово "копировать" оно с кнопки, которая находится внутри <div> с этим текстом, и при наличии этого скрипта (указанного выше) текст кнопки попадает с основным текстом в буфер... |
![]() |
![]() |
![]() |
#2 |
Junior Member
Студент
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956
|
![]()
Собственно скрипт с кнопкой "копировать" вот:
<script src="/clipboard.min.js"></script> <script> window.addEventListener('load', function() { var pre = document.getElementsByClassName('pre'); for (var i=0; i<pre.length; i++) { var button = document.createElement('span'); button.className = 'btn-clipboard'; button.textContent = 'Копировать'; pre[i].appendChild(button); } var btnClipboard = new ClipboardJS('.btn-clipboard', { target: function(trigger) { return trigger.parentElement; } }); btnClipboard.on('success', function(e) { e.trigger.textContent = 'Скопировано'; window.setTimeout(function() { e.trigger.textContent = 'Копировать'; }, 3000); }); }); </script> |
![]() |
![]() |
![]() |
#3 |
[censored]
Академик
Регистрация: 24.06.2020
Адрес: Катманду
Сообщений: 1,135
Сказал(а) спасибо: 1,031
Получил(а) "Спасибо": 1,836
Нарушения: 0/0 (0)
Репутация: 8915
|
![]()
funkislota, может проще от основ вопрос решать? И вообще, есть же тег [CODE], с ним красиво.
![]() |
![]() |
![]() |
![]() |
#4 | |
Junior Member
Студент
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956
|
![]() Цитата:
<script src="/clipboard.min.js"></script> <script> //после загрузки страницы window.addEventListener('load', function() { // получить коллекцию элементов c классом pre на странице var pre = document.getElementsByClassName('pre'); // перебрать все элементы pre с помощью цикла for for (var i=0; i<pre.length; i++) { // создать контейнер div var divClipboard = document.createElement('div'); // добавить к контейнеру div класс .bd-clipboard divClipboard.className = 'bd-clipboard'; // создать элемент span (кнопку Копировать) var button = document.createElement('span'); // добавить к элементу span класс .btn-clipboard button.className = 'btn-clipboard'; // элементу span установить контент Копировать button.textContent = 'Копировать'; // добавить элемент span в качестве дочернего к элементу div divClipboard.appendChild(button); // добавить элемент div перед pre pre[i].parentElement.insertBefore(divClipboard,pre[i]); } // инициализируем Clipboard для каждой кнопки var btnClipboard = new ClipboardJS('.btn-clipboard', { target: function(trigger) { console.log(trigger.parentElement.nextElementSibli ng); trigger.clearSelection; return trigger.parentElement.nextElementSibling; } }); btnClipboard.on('success', function(e) { // убираем выделение //e.clearSelection(); // изменяем текст триггера на Скопировано e.trigger.textContent = 'Скопировано'; // Возращаем через 3 секунды текст триггеру на Копировать window.setTimeout(function() { e.trigger.textContent = 'Копировать'; }, 3000); }); }); </script> В этом случае, слово "копировать" не попадает в буфер. Но появляется другая проблема, кнопка "копировать" сверху от div, а мне надо под ним! И я это никак решить не могу. А запихнув в div, текст кнопки уходит в буфер при копировании. Стили решить это вопрос не помогают. Это было бы тоже решением проблемы, как в этом скрипте тогда кнопку копировать выводить ровно под div который копируется. |
|
![]() |
![]() |
![]() |
#5 |
Member
Аспирант
Регистрация: 16.11.2020
Сообщений: 57
Сказал(а) спасибо: 38
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 6342
|
![]()
Эту фигню нужно вообще убрать. Ничего, кроме раздражения и геммора оно не несёт.
|
![]() |
![]() |
![]() |
#6 | |
Junior Member
Студент
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956
|
![]() Цитата:
Понятно, что многие удалят слово - источник... но кто-то авось где на форуме и т.д. оставит... что полезно для сайта. |
|
![]() |
![]() |
![]() |
#7 |
Member
Аспирант
Регистрация: 16.11.2020
Сообщений: 57
Сказал(а) спасибо: 38
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 6342
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Junior Member
Студент
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956
|
![]() Цитата:
Как я уже писала есть два варианта. -Правка первого скрипта "искусственно удаляя слово - копировать" -Правка второго скрипта (который я указала во втором своем комментарии) - с переносом кнопки "копировать" под div. И я ищу помощи по любому из этих вариантов, любой из них решит мою проблему. |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите, пожалуйста, советом | Tor | Разносортица | 82 | 17.11.2020 12:33 |
Помогите, пожалуйста, правильно заполнить тайтл (светить так светить :)) | Had | Продвижение и оптимизация сайтов | 55 | 06.10.2020 01:30 |
Ребята! Помогите найти шрифт, срочно.. | Geers | Разносортица | 9 | 10.09.2020 14:44 |
Помогите с SQL запросом replace | sanek1991 | Веб-строительство | 34 | 16.07.2020 13:26 |