博客园美化:JS实现页面复制内容时自动添加版权信息
时间:2021-06-20
本文章向大家介绍博客园美化:JS实现页面复制内容时自动添加版权信息,主要包括博客园美化:JS实现页面复制内容时自动添加版权信息使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在页尾HTML中添加以下代码:
<script type="text/javascript">
var selfLogin = false;
var follow = $('#profile_block').find('#p_b_follow');
var block = follow.length >= 1 ? follow[0] : "";
var followText = (block != null && block != undefined) ? block.innerHTML : "";
if(followText == "") selfLogin = true;
var pageInfo = '\r\n---------------------\r\n著作权归作者所有。\r\n'
+ '商业转载请联系作者获得授权,非商业转载请注明出处。\r\n'
+ '作者:Shu-How Z\r\n源地址:' + document.location.href
+ '\r\n来源:博客园cnblogs\r\n© 版权声明:本文为博主原创文章,转载请附上博文链接!';
document.addEventListener('copy', function (ev) {
var targetHTML = $.trim($(ev.target).html());
// console.log("targetHTML:" + targetHTML)
if (targetHTML == "") return;
if (!(targetHTML.startsWith('<table class="hljs-ln"') && targetHTML.endsWith('</table>')) || !selfLogin) // isLogined
{
var selected = window.getSelection();
var selectedText = selected.toString();
let copyRightStr = (selectedText + pageInfo).replace(/\n/g, '\r\n'); // Solve the line breaks conversion issue
ev.clipboardData.setData('text/plain', `${copyRightStr}`);
ev.preventDefault();
}
});
</script>
原文地址:https://www.cnblogs.com/zhangshuhao1116/p/14908769.html
- ASM无法启动的问题分析(一)(r7笔记第87天)
- 54. 心跳的实现 | 厚土Go学习笔记
- 53. Socket服务三次握手的示例 | 厚土Go学习笔记
- 使用Beego+Swagger构建更好的API服务
- ASM无法启动的问题分析(二)(r7笔记第88天)
- 43. 等价二叉树 | 厚土Go学习笔记
- 51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
- 50. RESTful API的简单实现 | 厚土Go学习笔记
- go实现西瓜视频花椒直播等平台智能答题
- 主备切换的准备工作(二) (r7笔记第85天)
- 49. 访问PostgreSQL数据库增删改查 | 厚土Go学习笔记
- Golang中Interface类型详解
- Go语言的网络编程简介
- 一条关于swap争用的报警邮件分析(二)(r8笔记第4天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 突击并发编程JUC系列-并发工具 Semaphore
- 构建Linux根文件系统
- ARM指令ldr和adr的区别
- 挂载文件系统出现"kernel panic..." 史上最全解决方案
- 汇编程序调用c函数为什么需要设置栈?
- Uboot到底如何启动内核
- Flink部署及作业提交(On YARN)
- Flink部署及作业提交(On Flink Standalone)
- MySQL题集
- 《深入浅出SQL》问答录
- Python_字典实现简单预约系统
- java_二维数组简单快递系统
- RabbitMQ六种工作模式
- Java生成随机姓名、性别和年龄
- 商业数据分析从入门到入职(8)Python模块、文件IO和面向对象