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