Files
2026-09-24 16:25:22 +08:00

37 lines
950 B
Plaintext

export const setClipboardData = (data : string):Promise<boolean> => {
// 设置剪切板内容
return new Promise((resl,rejl)=>{
navigator.clipboard.writeText(data)
.then(() => {
resl(true)
})
.catch(err => {
rejl(false)
console.error('无法设置剪切板数据', err);
});
})
}
export const getClipboardData = ():Promise<string> => {
let inputdom = document.createElement("input") as HTMLInputElement;
inputdom.style.setProperty('opacity', '0')
inputdom.style.setProperty('position', 'absolute')
document.body.appendChild(inputdom)
inputdom.focus();
document.execCommand('paste');
return new Promise((resl,rejl)=>{
if (!document.execCommand('paste')) {
navigator.clipboard.readText()
.then(text => {
resl(text)
})
.catch(err => {
rejl('没有权限')
console.error('无法读取剪切板内容: ', err);
});
} else {
resl(inputdom.value)
}
inputdom.remove()
})
}