场景:当我从网上复制了所需代码到编辑器粘贴时,总会有如下版权信息提示

  

   看到好几次后,在好奇心的驱使下开始搜寻答案。网上有好几种写法,最开始我找到了如下JS代码

        document.body.oncopy = function() {
setTimeout(
function() {
var text = clipboardData.getData("text");
if(text) {
text = text + "\r\n本文来自: (www.jb51.net) 详细出处参考:" + location.href;
clipboardData.setData("text", text);
}
}, 100)
}

  但这种方法经过测试,会报错,如下图

  

  

  后来终于被我找到下面的JS代码,亲测可用,附上截图和代码

  

function addLink() {
var body_element = document.body;
var selection;
//var selection = window.getSelection();
var blogName = '[ 何海宝的博客 ]'; // 此处修改成你自己网站的名称
selection = window.getSelection() ? window.getSelection() : document.selection.createRange().text;
if(window.clipboardData) { // Internet Explorer
var pagelink = "\r\n\r\n 原文出自" + blogName + " 转载请保留原文链接: " + document.location.href + "";
var copyText = selection + pagelink;
window.clipboardData.setData("Text", copyText);
return false;
} else {
var pagelink = " 原文出自" + blogName + " 转载请保留原文链接: " + document.location.href + "";
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;

  注:网上有很多地方都引用了这段代码,但大多都没有标明出处,后来巧合之下发现下面的原文链接

  原文链接:http://www.hehaibao.com/js-auto-add-copyright/

  补充:上面代码有2个我看不懂的属性,有兴趣的小伙伴可以看看

     window.getSelection():表示用户选择的文本范围或光标的当前位置

     clipboardData对象:剪贴板数据对象

     

  

js实现复制内容自动添加版权信息的更多相关文章

  1. JS实现复制网页内容自动加入版权内容代码和原文链接

    JS实现复制网页内容自动加入版权内容代码和原文链接 实现代码:在body内放入如下代码即可: <script type="text/javascript"> var S ...

  2. Javascript禁止网页复制粘贴效果,或者复制时自动添加来源信息

    一.禁止复制 使用方法:在oncopy事件中return false oncopy="return false;" 1.禁止复制网页内容 <body oncopy=" ...

  3. eclipse自动添加版权信息

    Preference->Java->Code Style->Code Template->comments->Files->Edit 勾选上Automaticall ...

  4. C#实现为类和函数代码自动添加版权注释信息的方法

    这篇文章主要介绍了C#实现为类和函数代码自动添加版权注释信息的方法,主要涉及安装文件的修改及函数注释模板的修改,需要的朋友可以参考下   本文实例讲述了C#实现为类和函数代码自动添加版权注释信息的方法 ...

  5. 为js和css文件自动添加版本号

    web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服 ...

  6. [Windows] VS2010代码模板添加版权信息

    通过以下方式可以自定义CS类文件代码模板(以下为VS2010,VS2008类似): 1,打开VS的安装目录,例如 D:\Program Files\Microsoft Visual Studio 10 ...

  7. Word·去掉复制粘贴自动添加的空格

    阅文时长 | 0.05分钟 字数统计 | 145.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『Word·去掉复制粘贴自动添加的空格』 编写人 | SCscHero 编写时间 | ...

  8. Html 页面底部添加版权信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. js监听页面copy事件添加版权信息

    个人博客 地址:http://www.wenhaofan.com/article/20180921103346 1.介绍 当页面需要做版权保护时,比如当用户copy我们网站的文章时,我们会希望在他co ...

随机推荐

  1. Vue 获取元素样式 元素高度

    看到这个问题我第一时间想的竟然是JS 不知道你是怎么想的 不过昨天有一个小哥哥 问我一个Vue的 哈哈哈 get了 我当时问他为什么不用JS获取 他说 这个性能更高 那我们来看看这个高性能的获取元素高 ...

  2. python基础 (函数名,闭包,和迭代器)

    1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...

  3. Google关于Spanner的论文中分布式事务的实现

    Google关于Spanner的论文中分布式事务的实现 Google在Spanner相关的论文中详细的解释了Percolator分布式事务的实现方式, 而且用简洁的伪代码示例怎么实现分布式事务; Pe ...

  4. PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储

    PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储 项目中有用到md5截取做session key值的,有些md5截取出来的部分是纯数字的,导致部分 ...

  5. 一次性获取PPT图片方法

    XXX.ppt 改成 XXX.zip 或者 XXX.rar 解压,查看文件夹即可

  6. js url参数解析获取

    function get_url_parm_list(str){ var params=str.substr(str.indexOf('?')+1); var param_list=[]; while ...

  7. Scikit-learn 安装

    Scikit-Learn 3 pip 安装 如果安装了Python,没有安装pip,使用Windows + R,输入cmd,回车打开命令行,输入 python -m pip install -U pi ...

  8. PL/SQL Developer 破解方法~

    1.有注册码的方式:亲自测试,立马见效 LicenseNumber : 999 productCode : 46jvnzf74ysf3mqm4hx4tvhcamh8gpe3v5 SeriesNumbe ...

  9. AHOI——Day1个人感悟

    今天,是个bilibili的日子.(嗯?什么意思?) 洛谷已经尽力了: 于是我带着洛谷的祝福,来到了AHOI的考场--合肥一中. 其实我是考完才签到的,我一大早五点多就起来了,到考场后,在肯德基吃了早 ...

  10. MySQL zip版本安装

    一直以来都习惯了使用MySQL安装文件(.exe),今天下载了一个.zip版本的MySQL,安装过程中遇到了一些问题,如下: 1.在MySQL官网上(http://dev.mysql.com/down ...