Вопрос по скрипту добавления ссылки на источник

Рейтинг: -4Ответов: 1Опубликовано: 25.05.2023

Есть готовый работающий скрипт который при копировании текста автоматически добавляет источник.

   //указание источника при копировании
    (function($) {
        $(function() {
            function addLink() {
                   var body_element = document.getElementsByTagName ('body') [0];
                   var html = "";
                   if (typeof window.getSelection != "undefined") {
                       var selection = window.getSelection();
                       if (selection.rangeCount) {
                           var container = document.createElement("div");
                           for (var i = 0, len = selection.rangeCount; i < len; ++i) {
                               container.appendChild(selection.getRangeAt(i).cloneContents());
                           }
                           html = container.innerHTML;
                       }
                   } else {
                       return;
                   }
                   if (html.toString().split(' ').length < 6) {
                       return;
                   }
    
                   var pagelink = "<br/><br/> Источник: <a href='" + document.location.href+ "'>"  +document.location.href+ "</a>";
                   var copytext = html + ' ' + 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;
        });
    })(jQuery);

Проблема в том, что сайт работает на поддомене, а скрипт учитывает текущий адрес страницы, то есть на выходе получается источник с поддоменом https://poddomen.site.com/stranica.html

Как можно подправить скрипт, чтобы на сайте с поддоменом в источнике стоял основной домен вида https://site.com/stranica.html ? Всем заранее спасибо за помощь!

Ответы

▲ 0

Как можно подправить скрипт, чтобы на сайте с поддоменом в источнике стоял основной домен вида https://site.com/stranica.html ?

Например вот так можно убрать поддомен такого типа...

let url = 'https://poddomen.site.com/stranica.html'
console.log('До', url)
const re = /(?<=\/\/).+?\./
url = url.replace(re, '')
console.log('После', url)

Нужно заменить это

var pagelink = "<br/><br/> Источник: <a href='" + document.location.href+ "'>"  +document.location.href+ "</a>";

На что -то такое

var pagelink = document.location.href
pagelink = pagelink.replace(/(?<=\/\/).+?\./, '')
pagelink = "<br/><br/> Источник: <a href='" + pagelink + "'>"  + pagelink + "</a>";