document.addEventListener('copy', function(e) {
var selection = window.getSelection(); var author = text(document.getElementById("author")); var url = window.location.href; var title = text(document.getElementsByTagName("title")[0]); var newSelection = '作者: ' + author + '\n' + '链接: ' + url + '\n' + '来源: ' + title + '\n' + '著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。\n\n' + selection; e.clipboardData.setData('text/plain', newSelection); e.preventDefault();
});
//兼容浏览器获取节点文本的方法 function text(e) {
var t=""; //如果传入的是元素,则继续遍历其子元素 //否则假定它是一个数组 e=e.childNodes||e; //遍历所有子节点 for(var j=0; j<e.length; j++) { //如果不是元素,追加其文本值 //否则,递归遍历所有元素的子节点 t+=e[j].nodeType!=1?e[j].nodeValue:text(e[j].childNodes); } t = t.replace(/^\s+|\s+$/g, ''); //返回区配的文本 return t;
}