JavaScript Realizes Automatic Copyright Addition of Copied Articles

  • 2021-07-07 06:21:47
  • OfStack

Type 1


<script type="text/javascript"> 
document.body.oncopy = function(){ 
  setTimeout( 
    function (){ 
    var text = clipboardData.getData("text"); 
    if(text){ 
      text = text + "\r\n This article comes from : (www.ofstack.com)  Detailed source reference: "+location.href; clipboardData.setData("text", text); 
    } 
  },100) 
} 
</script> 

Note: This code must be copied into the body area to take effect, but it will not work in the head area.

Type 2


$("body").bind('copy', function (e) {
 if (typeof window.getSelection == "undefined") return; //IE8 or earlier...
 
 var body_element = document.getElementsByTagName('body')[0];
 var selection = window.getSelection();
 
 //if the selection is short let's not annoy our users
 if (("" + selection).length < 30) return;

 //create a div outside of the visible area
 //and fill it with the selected text
 var newdiv = document.createElement('div');
 newdiv.style.position = 'absolute';
 newdiv.style.left = '-99999px';
 body_element.appendChild(newdiv);
 newdiv.appendChild(selection.getRangeAt(0).cloneContents());
 
 //we need a <pre> tag workaround
 //otherwise the text inside "pre" loses all the line breaks!
 if (selection.getRangeAt(0).commonAncestorContainer.nodeName == "PRE") {
 newdiv.innerHTML = "<pre>" + newdiv.innerHTML + "</pre>";
 }
 
 newdiv.innerHTML += "<br /><br />Read more at: <a href='"
 + document.location.href + "'>"
 + document.location.href + "</a> &copy; MySite.com";
  
 selection.selectAllChildren(newdiv);
 window.setTimeout(function () { body_element.removeChild(newdiv); }, 200);
});

Summarize

The above is the site for everyone to organize the two use of JavaScript copy article automatically add copyright method, the code is very simple, the need for friends can refer to learning.


Related articles: