Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Технические вопросы > Веб-строительство

Ответ
 
Опции темы
Старый 03.12.2020, 11:44   #1
funkislota
Junior Member
Студент
 
Аватар для funkislota
 
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956

Thread Starter Помогите чуть изменить script. Пож-та!

На сайте стоит очень нужный мне скрипт источника:

<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> с этим текстом, и при наличии этого скрипта (указанного выше) текст кнопки попадает с основным текстом в буфер...
funkislota вне форума   Ответить с цитированием
Старый 03.12.2020, 11:46   #2
funkislota
Junior Member
Студент
 
Аватар для funkislota
 
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956

Thread Starter Re: Помогите чуть изменить script. Пож-та!

Собственно скрипт с кнопкой "копировать" вот:

<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>
funkislota вне форума   Ответить с цитированием
Старый 03.12.2020, 11:50   #3
Chikk
[censored]
Академик
 
Регистрация: 24.06.2020
Адрес: Катманду
Сообщений: 1,135
Сказал(а) спасибо: 1,031
Получил(а) "Спасибо": 1,835
Нарушения: 0/0 (0)
Репутация: 8915
Отправить сообщение для Chikk с помощью ICQ

По умолчанию Re: Помогите чуть изменить script. Пож-та!

funkislota, может проще от основ вопрос решать? И вообще, есть же тег [CODE], с ним красиво.
Chikk на форуме   Ответить с цитированием
Старый 03.12.2020, 11:55   #4
funkislota
Junior Member
Студент
 
Аватар для funkislota
 
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956

Thread Starter Re: Помогите чуть изменить script. Пож-та!

Цитата:
Сообщение от Chikk Посмотреть сообщение
funkislota, может проще от основ вопрос решать? И вообще, есть же тег [CODE], с ним красиво.
Он у меня и стоит... Есть другой вариант скрипта копирования в буфер


<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 который копируется.
funkislota вне форума   Ответить с цитированием
Старый 03.12.2020, 11:56   #5
feradet
Member
Аспирант
 
Регистрация: 16.11.2020
Сообщений: 57
Сказал(а) спасибо: 38
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 6342

По умолчанию Re: Помогите чуть изменить script. Пож-та!

Эту фигню нужно вообще убрать. Ничего, кроме раздражения и геммора оно не несёт.
feradet вне форума   Ответить с цитированием
Старый 03.12.2020, 12:00   #6
funkislota
Junior Member
Студент
 
Аватар для funkislota
 
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956

Thread Starter Re: Помогите чуть изменить script. Пож-та!

Цитата:
Сообщение от feradet Посмотреть сообщение
Эту фигню нужно вообще убрать. Ничего, кроме раздражения и геммора оно не несёт.
Сайт предназначен для того, чтобы люди с него копировали, скажем так, небольшие текстовые блоки (абзацы), коих много на 1-ой странице.

Понятно, что многие удалят слово - источник... но кто-то авось где на форуме и т.д. оставит... что полезно для сайта.
funkislota вне форума   Ответить с цитированием
Старый 03.12.2020, 12:04   #7
feradet
Member
Аспирант
 
Регистрация: 16.11.2020
Сообщений: 57
Сказал(а) спасибо: 38
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 6342

По умолчанию Re: Помогите чуть изменить script. Пож-та!

Цитата:
Сообщение от funkislota Посмотреть сообщение
Понятно, что многие удалят слово - источник... но кто-то авось где на форуме и т.д. оставит... что полезно для сайта.
Если захочет - итак оставит ссылку на источник. Но оставит не так, как скрипт дал, а так, как требуется по месту.
feradet вне форума   Ответить с цитированием
Старый 03.12.2020, 12:08   #8
funkislota
Junior Member
Студент
 
Аватар для funkislota
 
Регистрация: 14.07.2020
Сообщений: 24
Сказал(а) спасибо: 14
Получил(а) "Спасибо": 8
Нарушения: 0/0 (0)
Репутация: 956

Thread Starter Re: Помогите чуть изменить script. Пож-та!

Цитата:
Сообщение от feradet Посмотреть сообщение
Если захочет - итак оставит ссылку на источник. Но оставит не так, как скрипт дал, а так, как требуется по месту.
Я благодарю вас за мнение, но вопрос был не о том ставить такой скрипт или нет, а как сделать, чтобы оба скрипта выполняли свои задачи.

Как я уже писала есть два варианта.
-Правка первого скрипта "искусственно удаляя слово - копировать"
-Правка второго скрипта (который я указала во втором своем комментарии) - с переносом кнопки "копировать" под div.

И я ищу помощи по любому из этих вариантов, любой из них решит мою проблему.
funkislota вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, советом 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


Текущее время: 19:08. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot