Вставка ссылки при копировании на JS

Опубликовано: 05.12.2014 14:02
Просмотров: 3699

Статья о том, как попытаться уберечь ваши статьи и любые материалы с помощью простейшего скрипта. Читаем здесь!

Ворам контента дадим бой!

Приветствую вас, наши читатели SEO-Блога SEO-Love.

Как все знают, интернет - полностью открытая зона. И никто не может быть уверен в том, что его статью или любой другой контент не своруют без вставки обратной ссылки на источник. Да да, в наше время осталось очень мало честных людей. Для других же, мелких воришек контента, я нашёл парочку приёмов, что смогут отяготить их жизнь.

  1. Все новые статьи, тексты и прочее добавлять в сервис "Оригинальные тексты", что вы всегда сможете найти в панели вебмастера от Яндекса. Для тех, кто очень ленив и не хочет искать, привожу ссылку. Это позволит хотя бы как-то присвоить текст себе. Пусть недобрый люди копирую ваш материал - если вы первым сообщили о том, что вы являетесь его владельцем, то толку от "копипаства" не будет.
  2. Установка на ваш сайт скрипта, который будет вставлять в скопированный текст вашу обратную ссылку. Привожу код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
        if (typeof addEvent !== "function") {
            function addEvent(elt, name, handler, atEnd) {
                name = name.replace(/^(on)?/, 'on');
                var prev = elt[name];
                var tmp = '__tmp';
                elt[name] = function(e) {
                    if (!e)
                        e = window.event;
                    var result;
                    if (!atEnd) {
                        elt[tmp] = handler;
                        result = elt[tmp](e);
                        elt[tmp] = null; // delete() does not work in IE 5.0 (???!!!)
                        if (result === false)
                            return result;
                    }
                    if (prev) {
                        elt[tmp] = prev;
                        result = elt[tmp](e);
                        elt[tmp] = null;
                    }
                    if (atEnd && result !== false) {
                        elt[tmp] = handler;
                        result = elt[tmp](e);
                        elt[tmp] = null;
                    }
                    return result;
                }
                return handler;
            }
        }
 
        function addinfotocopytext(event)
        {
            var htmlcopytxt = '\n\n<br /><br />Источник: <a href="' + document.location.href + '">' + document.location.href + '</a><br />\n SEO-Блог для профессионалов: <a href="http://seo-love.ru">http://seo-love.ru</a><br />\n';
            var minlen = 10;
            htmlcopytxt = htmlcopytxt.replace(/(&)sid=[0-9a-f]{32}/g, '');
            var copy_sp = document.getElementById('ctrlcopy');
            if (copy_sp != null)
                copy_sp.parentNode.removeChild(copy_sp);
            var copy_sp = document.createElement('div');
            copy_sp.id = 'ctrlcopy';
            copy_sp.innerHTML = htmlcopytxt;
            copy_sp.style.position = 'absolute';
            copy_sp.style.left = '-99999px';
            if (window.getSelection) {
                var slcted = window.getSelection();
                var seltxt = slcted.toString();
                if (!seltxt || seltxt.length < minlen)
                    return;
                var nslct = slcted.getRangeAt(0);
                seltxt = nslct.cloneRange();
                seltxt.collapse(false);
                seltxt.insertNode(copy_sp);
                nslct.setEndAfter(copy_sp);
                slcted.removeAllRanges();
                slcted.addRange(nslct);
            }
            else if (document.selection) {
                var slcted = document.selection;
                var nslct = slcted.createRange();
                var seltxt = nslct.text;
                if (!seltxt || seltxt.lengt < minlen)
                    return;
                seltxt = nslct.duplicate();
                seltxt.collapse(false);
                seltxt.pasteHTML(copy_sp.outerHTML);
                nslct.setEndPoint("EndToEnd", seltxt);
                nslct.select();
            }
        }
 
        var body_element = document.getElementsByTagName('body')[0];
        addEvent(body_element, 'onmouseup', addinfotocopytext);

 В данном коде осуществляется вызов функции addinfotocopytext(), в которой мы указываем, какой текст требуется вставить. Данный код осуществляет вставку после скопированного кода. Длина строки, на которую должен действовать данный скрипт, равна 10 символам (за это отвечает переменная var minlen) Такой код может хотя бы частично спасти ваш контент от воровства. Скрипт так же можно доработать для вставки кода внутрь текста, но мне было лень. Как часто говорят программисты: "И так сойдёт!".

Надеюсь, что данный материал был вам полезен.