Html 中用oncopy事件为自己的文章添加版权
有时候希望别人在copy自己站点文章的时候能够让copy者多了解下自己和推广一些信息,如可以在clip里添加一些微信公众号。
这种做法用意并不是防止复制,像那些文库什么的直接禁用 JavaScript 就可以了,主要能是防止无脑copy的
这里主要是监听 oncopy 事件,了解一下就知道了,这个事件好想在Google浏览器上不太兼容。博主只测过IE浏览器能够正常运行脚本。流浪器有个内置对象clipboardData, 通过其getData方法能够获取当前复制的内容,如指定文字 “text”,或者指定图片“image”:
clipboardData.getData("text"); //获取clip中 text的内容
然后我们可以在text添加一些自己的声明或者广告信息,通过setData方法设置内容:
clipboardData.setData("text", text); //设置clip中 text的内容
完整代码
<!DOCTYPE HTML>
<html>
<head>
<title>copy test</title>
<meta charset="utf-8">
<script type="text/javascript">
window.onload = function(){
document.body.oncopy = function(){
setTimeout(function(){
var text = clipboardData.getData("text");
if(text){
text = text + "\n" + "this is copy from dxw, copyright all belong to dxw.(^ ~ ^)";
}
clipboardData.setData("text", text);
}, 100);
}
}
</script>
</head>
<body>
<p>
This is some text writen by xxx.
</p>
</body>
</html>