在网站copy时自带的版权小尾巴以及“复制代码“,可以怎么实现
前言
每天网上的博客各个领域都会涌现新文章,有时候看到感兴趣的知识就想把某段文字 copy下来 摘录下来,等有时间后慢慢品味
在部分网站上,如果只是复制少量文字,并没有什么不同。但是当我们复制的文字多的话会发现多了一个小尾巴
所谓小尾巴是指在复制文本的最后会多一个作者和出处信息,如下:
···(复制的内容)···思否可能并没有这种情况,但是在很多技术论坛、博客都有这样的处理。当我们复制文章内容的时候,往往会自动加上一段文本信息版权
————————————————
版权声明:本文为xxx的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。\
原文链接:https://segmentfault.com/u/ra...
那么如果我们也想实现这样的效果要怎么做呢?
实现 版权小尾巴 前提:假定所选择的字符串长度大于等于130时带上版权信息
示例一:这不是一个 bug,这只是一个未列出来的特性。示例二:ES6 是一个泛指,含义是 5.1 版以后的 JavaScript。
ES6 是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。
它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,使之成为企业级开发语言。
演示
文章图片
浏览器兼容性
文章图片
当复制示例一后可以发现粘贴是正常的;复制示例二则会在末尾携带版权信息
复制代码功能 我们直接复制代码,会发现当字数超过一定值时也是会携带版权信息。但是点击“复制代码”的时候可以一键复制区域内的代码,这可以怎么实现呢?
// 浮点数相加
function mathMultiply(arg1, arg2) {
var m = 0;
var s1 = arg1.toString();
var s2 = arg2.toString();
try {
m += s1.split('.')[1].length;
// 小数相乘,小数点后个数相加
} catch (e) {}
try {
m += s2.split('.')[1].length;
} catch (e) {}
return (
(Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) /
Math.pow(10, m)
);
}
【在网站copy时自带的版权小尾巴以及“复制代码“,可以怎么实现】
演示
文章图片
浏览器兼容性
文章图片
document.execCommand()因为安全问题已经废弃,不适合长期使用
第三方工具 除了以上实现方式,也可以使用第三方库封装好的函数来实现
clipboard.js
- 介绍:只有3k大小,不依赖任何框架
- GitHub:https://github.com/zenorocha/clipboard.js
推荐阅读
- DjangoRestFramework框架三种分页功能的实现|DjangoRestFramework框架三种分页功能的实现 - 在DjangoStarter项目模板中封装
- 如何在Python中实现从控制台获取输入()
- 自学宝典(10个学习Android开发的网站推荐)
- ps正片叠底在哪
- 桌面记事本,图文详细说明怎样在桌面添加便签
- 在线CSV转JSON工具
- 在线SVG在线编辑器
- 本文详细说明怎样把系统装在u盘
- Android LayoutParams
- 如何在Windows 10上启用或禁用键盘背光(分步指南)