在学习这个知识点之前需要了解的是:在网页中一般是不允许访问“剪贴板”的,因为这样存在着很大的安全隐患在IE和FF中剪贴板的访问是可控的,但是在Opera、Chrome、Safari浏览器中是不允许访问的,这样就产生了浏览器兼容的问题接下来进入正题: JavaScript提供了clipboardData 对象来对剪贴板进行访问。clipboardData提供了三个方法: clearData(sDataformat):删除剪贴板中指定格式的数据 setData(sDataformat,sData):给剪贴板赋予指定格式的数据,返回true则操作成功 getData(sDataformat):从剪贴板获取指定格式的数据var text = "123";
if (!window.clipboardData.setData('Text', text)) // 赋予 text 格式的数据
{
alert("复制失败!");
}
text = window.clipboardData.getData('Text'); // 获取 text 格式的数据
alert(text);
window.clipboardData.clearData('Text'); // 清除 text 格式的数据
text = window.clipboardData.getData('Text');
alert(text); 注意上述方法在google,IE edge等多数流浪器中是不兼容的}
需求说明:在vue项目中,设置一个按钮,点击后将页面中某个信息复制到系统剪贴板。主要使用的clipboardjs插件
一、引入clipboardjs可以使用npm命令安装,npm install clipboard --save但我使用的方式是下载了该文件包,将clipboard.min.js放入项目某文件夹中二、使用1、在需要复制功能的页面引入该文件import ClipboardJS from '@mvue/rights/common/util/clipboard.min.js
2、代码// 页面内容
//复制resourceCode的值
//js
//复制券码
copyResourceId() {
var _this = this;
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function(e) {
console.log("复制成功!");
e.clearSelection();
});
clipboard.on('error', function(e) {
console.log("复制失败");
});
},
ClipboardJS官网地址:https://clipboardjs.com/}