Добавляем копирайт при копировании текста с сайта с сохранением форматирования

  • Создано 16.10.2020 14:10

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

function getSelectionHtml() {
   var html = "";
   if (typeof window.getSelection != "undefined") {
      var sel = window.getSelection();
      if (sel.rangeCount) {
         var container = document.createElement("div");
         for (var i = 0, len = sel.rangeCount; i < len; ++i) {
            container.appendChild(sel.getRangeAt(i).cloneContents());
         }
         html = container.innerHTML;
      }
   } else if (typeof document.selection != "undefined") {
      if (document.selection.type == "Text") {
         html = document.selection.createRange().htmlText;
      }
   }
   return html;
}

function CopyRight() {
   var element_body = document.getElementsByTagName('body')[0];
   var selection = window.getSelection();
   var selectionHtml = getSelectionHtml();
   var linkpage = "Здесь мой копирайт";
   var copytext = selectionHtml + linkpage;
   var divnew = document.createElement('div');
   divnew.style.position = 'absolute';
   divnew.style.left = '-99999px';
   element_body.appendChild(divnew);
   divnew.innerHTML = copytext;
   selection.selectAllChildren(divnew);
   window.setTimeout(function() {
      element_body.removeChild(divnew);
   }, 0);
}

document.oncopy = CopyRight;

ICH BIN KAKAI_I_IKA