Нужен рабочий скрипт, при копировании контента с сайта вставлял ссылку на первоисточник

12
Sultan
На сайте с 20.10.2020
Offline
26
605

Привет всем! уже второй день мучает меня это дела. Нашел много скрип из интернет, который если кто то копирует текст  автоматом добавляет ссылка на источник.  недостатка это скрипт,  при копировании вставляет текст в одну сплошную строку, без сохранения форматирования и поддерживает не все браузеры.

Посоветуйте пожалуйста: 
Нужен рабочий скрипт, при копировании контента с сайта вставлял ссылку на первоисточник, и: При этом важным является:

1. Сохранение форматирование скопированного текста.
2. Работа и поддержка на всех(максимально) браузерах и их версиях.

вот какой скрипт попал меня

<script type="text/javascript">
function addLink() {
        var body_element = document.getElementsByTagName('body')[0];
        var selection;
        selection = window.getSelection();
        var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />Copyright &copy; c.bavota"; // change this if you want
        var copytext = selection + pagelink;
        var newdiv = document.createElement('div');
        newdiv.style.position='absolute';
        newdiv.style.left='-99999px';
        body_element.appendChild(newdiv);
        newdiv.innerHTML = copytext;
        selection.selectAllChildren(newdiv);
        window.setTimeout(function() {
                body_element.removeChild(newdiv);
        },0);
}
document.oncopy = addLink;
</script>

https:// talk.pr-cy.ru/topic/18019-dobavlenie-ssylki-na-istochnik-pri-kopirovanii/

totamon
На сайте с 12.05.2007
Offline
383
#1
пустое это все... этот скрипт работает только при ручном копи-пасте... он никак не защитит от "промышленного" копирования парсерами, сканерами и другими ботами. единственное что он может - это испортить карму сайта🤔
Домены за 0.99$ https://8fn.ru/99cent | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
SuvR9
На сайте с 25.02.2018
Offline
32
#2
pagelink
смущает))) спорить небуду.

Долли скрипт вбейте в яндекс (не ошибётесь).  вещь конечно, но ни для каждого. зачем.

так да, помочь может в возне.

_
На сайте с 20.01.2014
Offline
71
#3

+ еще может нагружать сайт при первой загрузке, а сейчас же все за скорость сайтов бьются..

+ ничего не помешает открыть исходный код и просто скопировать текст.. в ручную.

уже было, проходили..

такая фишка работает только на поздравительных сайтах, когда неопытные юзеры копируют и сразу же отправляют поздравление со ссылкой в соц сетях, там может прибавиться небольшой % трафа..

Услуги Крауд Маркетинга - ссылки, которые работают | https://www.maultalk.com/topic214215s230.html (отзывы)
D.iK.iJ
На сайте с 26.05.2013
Offline
193
#4

Я не так давно тоже копал на эту тему. Если коротко, то хоть какие-то переносы сохраняет только API браузера или ХЗ как его там зовут. Пробовал textarea элементы, pre и все такое, но как-то плохо с результатами.

Вот код выдернул прямо из своего сайта:

// При копировании
function select(){
var textsel = '';
var url=document.location;
if (window.getSelection){textsel = window.getSelection();
}else if (document.getSelection){textsel = document.getSelection();
}else if (document.selection){textsel = document.selection.createRange().text;}
textsel2 = textsel.toString();
if (textsel && textsel2.length > 100 && textsel2.indexOf("Источник: "+url+"",'')== -1) {
if (navigator.clipboard) {
textsel = textsel + "\r\nИсточник: " + url;
navigator.clipboard.writeText((textsel));
} else {
var divElement = document.createElement('pre');
divElement.contentEditable = "true";
divElement.style.position = 'absolute';
divElement.style.width = '1px';
divElement.style.height = '1px';
divElement.style.overflow = 'auto';
divElement.style.left = '-10px';
divElement.style.top = '0px';
divElement.innerHTML = textsel + "\r\nИсточник: " + url;
document.body.appendChild(divElement);
textsel.selectAllChildren(divElement);
setTimeout(function() {document.body.removeChild(divElement);}, 100);
}}}
document.oncopy = select;

Ссылка вставляется при копировании от 100 символов, чтобы не мешалась. И да, за работоспособность ручаться не буду. Не тестировал отдельно. Просто то, что использую сам.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
SeVlad
На сайте с 03.11.2008
Offline
1527
#5

Будь я ПС - я бы за такое отправлял в баню.

Впрочем ПС уже умнее и [не|редко] показывают такие ГС.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
L
На сайте с 10.02.2015
Offline
151
#6

Я иногда отключаю js для таких сайтов, когда хочу себе сохранить какой-то прикол

L
На сайте с 10.02.2015
Offline
151
#7

Но чисто спортивно интересно.

Ну и интересно, как самому реализовать поддержку форматирования в своем коде.

D.iK.iJ
На сайте с 26.05.2013
Offline
193
#8
SeVlad #:
Будь я ПС - я бы за такое отправлял в баню.

За что? За то, что вы воруете (по факту) контент и при его перепосте вас скрипт насильно заставляет закон соблюдать и указывать автора? 😄

Ну, если честно, ерунда какая-то получается. Мне вот лично удобно самому пользоваться этой функцией. Запостил новость, сокпировал в ВК, подтянулась ссылка. Добавил фото и все. По идее, скрипт только для этого и нужен. Получить чуть больше ссылок с соцсетей при копировании.


По реализации. if (navigator.clipboard) { - часть с API браузера. Там что-то не копируется форматирование. Но нужно поискать. Может такая функция есть.

Всякие window.getSelection вроде как и переносят форматирование в элемент document.createElement('pre'); или textarea (или div), но... что-то оно дальше теряется. Почему - не понятно. В HTML, думаю, что-то можно было бы перевести. Но это тоже не совсем то, что нужно.

Если искать фрагмент по коду страницы - тоже какая-то ерунда будет.

Sultan
На сайте с 20.10.2020
Offline
26
#9
D.iK.iJ #:

Я не так давно тоже копал на эту тему. Если коротко, то хоть какие-то переносы сохраняет только API браузера или ХЗ как его там зовут. Пробовал textarea элементы, pre и все такое, но как-то плохо с результатами.

Вот код выдернул прямо из своего сайта:

Ссылка вставляется при копировании от 100 символов, чтобы не мешалась. И да, за работоспособность ручаться не буду. Не тестировал отдельно. Просто то, что использую сам.

А как правильно вставить это код на сайте? Почемуто не работает или я неправильно вставил.



fliger
На сайте с 17.09.2015
Offline
84
#10
Делайте в своих текстах перелинковку и php-скриптом (либо вручную) вставляйте абсолютные ссылки на свой домен. Не панацея, но хоть что-то рабочее. Не раз находил на сторонних сайтах свои статьи, в которых остались ссылки.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий