@iicoding/utils
Version:
Browser 端 - 类型判断 - 类似 koa 的异步compose - sleep - 扩展对象属性 - 扩展 storage 对象功能
45 lines (42 loc) • 1.48 kB
JavaScript
function getClipboardContent(resolve, reject) {
// 创建一个只读的 textarea 元素
var textarea = document.createElement('textarea');
document.body.appendChild(textarea);
// 选中 textarea 内容
textarea.select();
// 尝试执行剪切板粘贴操作
try {
// 如果执行成功,剪切板中的内容会被复制到 textarea 中
var successful = document.execCommand('paste');
console.log('successful----', successful);
if (successful) {
// 获取剪切板内容
var clipboardContent = textarea.value;
// 处理剪切板内容
console.log('clipboardContent-----', clipboardContent);
resolve === null || resolve === void 0 || resolve(clipboardContent);
return clipboardContent;
}
} catch (err) {
// 不同的浏览器可能会抛出错误,因此需要错误处理
console.error('Failed to get clipboard contents', err);
return reject === null || reject === void 0 ? void 0 : reject(err);
} finally {
console.log('document.body.removeChild(textarea), abc');
// 清理添加的 textarea 元素
document.body.removeChild(textarea);
}
return null;
}
/**
* http 协议下获取 剪切板的值
*/
export var readTextByClipboard = function readTextByClipboard() {
if (window.navigator.clipboard) {
return window.navigator.clipboard.readText();
} else {
return new Promise(function (resolve, reject) {
getClipboardContent(resolve, reject);
});
}
};