最近在使用uni-app混合开发APP时,在H5下复制内容报错 API `setClipboardData` is not yet implemented,经过不断找资料终于找到了uniapp 复制内容不支持H5解决方案。
最近在使用uni-app混合开发APP时,在H5下复制内容报错 API `setClipboardData` is not yet implemented,经过不断找资料终于找到了uniapp 复制内容不支持H5解决方案。
该方法可同时支持多端复制内容(具体使用方法就不赘述):
setClipboard() {
let content = this.info.nickname;
content = typeof content === 'string' ? content : content.toString()
//#ifndef H5
uni.setClipboardData({
data: content,
success: function() {
uni.showToast({
title: '复制成功!',
duration:2000
});
},
fail:function(){
uni.showToast({
title: '复制失败,请重新尝试!',
icon:"none",
duration:2000
});
}
});
//#endif
// #ifdef H5
if(!document.queryCommandSupported('copy')){
error('浏览器不支持')
}
let textarea = document.createElement("textarea")
textarea.value = content
textarea.readOnly = "readOnly"
document.body.appendChild(textarea)
textarea.select() // 选择对象
textarea.setSelectionRange(0, content.length) //核心
let result = document.execCommand("copy") // 执行浏览器复制命令
if(result){
uni.showToast({
title: '复制成功!',
duration:2000
});
}
textarea.remove()
// #endif
}