最近闲来无事,研究了一写前端开源框架,发现别人写的复制和我写的有天差地别。于是网上搜索了一下,结果网上的答案和我写的基本一致,都是模拟鼠标点击复制输入框内容。
我自己写的复制功能JS代码:
原理是模拟鼠标点击【input】,执行复制【input】中的内容,这种方式,兼容性极差。在开发APP嵌套网页时就发现APP端可能会禁用此类行为,导致复制失败。个人测试过发现IOS端基本不行,完整代码如下:
开源框架中的COPY功能
开源项目中的复制功能比较简单,利用了【clipboard.js】这个第三发插件。
clipboard.js是一款轻量级的实现复制文本到剪贴板功能的JavaScript插件。通过该插件可以将输入框,文本域,DIV元素中的文本等文本内容复制到剪贴板中
clipboard.js支持主流的浏览器:chrome 42+、Firefox 41+、IE 9+、opera 29+、Safari 10+
在vue中导入该函数并使用
这个插件最大的好处就是兼容性比较好。
领取专属 10元无门槛券
私享最新 技术干货