原生js复制指定内容到剪贴板

原创 2021-01-20 本文共1453个字,预计耗時4分钟 583次阅读
文章摘要:关于复制内容到剪贴板有很多成熟的插件,本人也使用过Clipboard.js等,但就兼容性而言,也发现有不好处,在使用的时候也需要先引入Clipboard.js文件。在网站管理中,发现如果网站多了每个网站去添加,后面需要修改复制的内容,有需要...

原生js复制指定内容到剪贴板

关于复制内容到剪贴板有很多成熟的插件,本人也使用过Clipboard.js等,但就兼容性而言,也发现有不好处,在使用的时候也需要先引入Clipboard.js文件。在网站管理中,发现如果网站多了每个网站去添加,后面需要修改复制的内容,有需要一个个去修改。加上引入的Clipboard.js文件和编写的绑定js事件,也算两个js文件了,怎么远程引入一个js文件就能解决问题呢?就是编写原生js的复制函数啦,还需要做到比较大的兼容性。

原生js的好处就是不依赖任何js库,曾经也使用过基于jquery的复制插件,但是并不是每个网站都有加载juqery,所以加上jquery,复制js插件,绑定js都是三个js文件了。下面的代码即使原生的复制代码,将下面的js 保存为文件,可以在函数下面执行,后面不管多少网站想要调用直接引入这个js文件即可

function copyjs(codycont){
	let u = navigator.userAgent;
	// let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 
	let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
	let body = document.getElementsByTagName('body')[0];
	if(isiOS){  //ios终端
		let txt = document.createElement('a');
		txt.style = 'position:absolute;top:-9999px;left:-9999px;';
		txt.setAttribute('id',"selector");
		txt.innerHTML = codycont;
		body.appendChild(txt);
		let copyDOM = document.querySelectorAll('#selector');
		let range = document.createRange();  
		range.selectNode(copyDOM[0]);
		window.getSelection().removeAllRanges();
		window.getSelection().addRange(range);
		document.execCommand('copy');
		body.removeChild(txt);
	}else{ // 非ios终端
		let txt = document.createElement('textarea');
		txt.style = 'position:absolute;top:-9999px;left:-9999px;';
		txt.setAttribute('id',"selector");
		txt.innerHTML = codycont;
		body.appendChild(txt);
		let selector = document.getElementById('selector');
		selector.select();
		document.execCommand("copy");
		body.removeChild(txt);
	}
	// console.log(u);
	// console.log("已复制好,可贴粘。");
}
//复制函数 参数为复制 字符串
copyjs("需要复制的内容字符串");

经测试在安卓,pc,iOS下,UC、QQ、华为浏览器、chrome等都能正常复制内容到剪贴板

版权免责申明
① 本站源码模板等资源SVIP用户永久不限量免费下载
② 所有资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你有源码需要出售,可以联系管理详谈。
⑤ 本站提供的源码、模板、插件等等资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。
⑧ 网站资源绝不做任何二次加密或添加后门(原版加密除外)
常见问题F&Q
需要积分的资源怎么下载?
您可以注册后签到等活跃动作获得积分,积分可下载,也可充值升级等级免费下载。
源码模板等文件安全吗?有没有后门病毒吗?
站内资源标有“已测试”标签的资源源码,表示已经在本地安装测试调试过才分享出来的,可以保证一定的安全;若不放心可以自行下载模板资源后使用D盾等查杀工具扫一遍确认安全。
本站网站模板等源码提供安装服务吗?
本站资源收集于网络并分享出来共同学习,不提供免费安装服务,模板源码安装等需要有一定熟悉度,小白用户可以下载资源后雇人安装调试。