安卓很好实现,主要是兼容ios,不多说直接上代码。
/**
* 复制字符串到粘贴板
* @param {string} str 将要复制的字符串
*/
const copyString = (str) => {
const copyDom = document.createElement("textarea");
copyDom.value = str;
document.body.appendChild(copyDom);
return new Promise((resolve) => {
setTimeout(() => {
try {
copyDom.select();
document.execCommand("Copy");
document.body.removeChild(copyDom);
resolve(true);
} catch (err) {
resolve(false);
}
}, 100);
});
};
支持换行,在换行的地方加上换行符 \r\n
。
let str = "这是复制文本\r\n这里换行";
copyString(str);
不想要文本换行,可将 textarea
改成 input
。