js中复制功能总结

南楼画角 提交于 2020-03-13 00:29:27

目前copy主流有四种方式:ZeroClipboardClipboard.jsexecCommand,setData,clipboardData

概况:

  ZeroClipboard 就是常说的Flash法,通过加载一个Flash,让其访问系统剪贴板来绕过绝大多数系统的权限限制,然而体积稍微庞大些

  Clipboard.js 近几年使用较多,体积相对小,兼容性可以接受,使用还比较方便。

  execCommand 新兴势力,safari等主流正在努力兼容,是个好东西。

  setData 太老。。一般不太用,基本只适合IE

兼容性:

  ZeroClipboard 兼容性最好,能全面兼容chrome/ FireFox/ IE/ 甚至Safari 这种“友好”的浏览器

  Clipboard.js和execCommand兼容性相似,兼容chrome/ FF/ IE>9/ Safari新版(不太懂Safari版本号如何算。。感觉15年以后的都可以)

  setData 仅IE

体积:

  ZeroClipboard 插件较大,230KB

  Clipboard.js 较小,4KB

  execCommand是document方法,不用插件直接搞

虽说体积有差,加载起来速度差不多的其实。。话说git好像就是用的ZeroClipboard

 

clipboardData对象     ,注意网页里剪贴板到现在只能设置Text类型,即只能复制文本
clearData("Text")清空粘贴板
getData("Text")读取粘贴板的值
setData("Text",val)设置粘贴板的值
当复制的时候body的oncopy事件被触发,直接return false就是禁止复制,注意是不能复制网页里的文本了
<body oncopy="alert('禁止复制!');return false;">
很多元素也有oncopy,onpaste事件

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!