我现在h5中通过调用wx.setClipboardData,发现没这个方法。然后navigator.clipboard也没这个属性。不知道怎么实现了。
下面的代码不知道能不能实现?
try {
const textarea = document.createElement('textarea');
textarea.value = text;
textarea.style.position = 'fixed';
textarea.style.top = '0';
textarea.style.left = '-9999px';
textarea.style.width = '1px';
textarea.style.height = '1px';
textarea.style.opacity = '0';
textarea.style.zIndex = '-1';
textarea.setAttribute('readonly', 'readonly');
document.body.appendChild(textarea);
textarea.focus();
textarea.select();
if (textarea.setSelectionRange) {
textarea.setSelectionRange(0, text.length);
}
const successful = document.execCommand('copy');
document.body.removeChild(textarea);
if (successful) {
logger.info('miniProgramSDK', '复制成功', { text });
resolve(true);
} else {
logger.warn('miniProgramSDK', '复制失败:execCommand返回false');
resolve(false);
}
} catch (err) {
const error = err instanceof Error ? err : new Error(String(err));
logger.error('miniProgramSDK', error);
resolve(false);
}