uni-app API setClipboardData 复制内容不支持H5解决方案

站长手记 作者: 2024-08-19 21:30:01
最近在使用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
}


原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_65154.html