45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
|
/*
|
|||
|
* @Author: Billy
|
|||
|
* @Date: 2022-03-15 15:18:55
|
|||
|
* @LastEditors: Billy
|
|||
|
* @LastEditTime: 2022-03-24 14:37:08
|
|||
|
* @Description: 剪切板工具
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @description 把字符串粘贴到剪切板
|
|||
|
* @param {string} text 要粘贴到剪切板的文字内容
|
|||
|
*/
|
|||
|
function copyStr(text) {
|
|||
|
var aux = document.createElement("input");
|
|||
|
aux.setAttribute("value", text);
|
|||
|
document.body.appendChild(aux);
|
|||
|
aux.select();
|
|||
|
document.execCommand("copy");
|
|||
|
document.body.removeChild(aux);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @description 把base64格式的图片粘贴到剪切板
|
|||
|
* @param {string} base64 base64格式的图片
|
|||
|
*/
|
|||
|
async function copyImgBase64(base64) {
|
|||
|
if (navigator.clipboard) {
|
|||
|
const imgURL = base64;
|
|||
|
const data = await fetch(imgURL);
|
|||
|
const blob = await data.blob();
|
|||
|
await navigator.clipboard.write([
|
|||
|
new window.ClipboardItem({
|
|||
|
[blob.type]: blob,
|
|||
|
}),
|
|||
|
]);
|
|||
|
} else {
|
|||
|
// 如果navigator.clipboard属性返回undefined,就说明当前浏览器不支持这个 API
|
|||
|
console.log('当前浏览器不支持 navigator.clipboard');
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
export default {
|
|||
|
copyStr,
|
|||
|
copyImgBase64
|
|||
|
}
|