需求大概是:在浏览器中点某个‘复制’按钮之后,写入该按钮的某个属性至剪贴板。我开始是这样做的:添加一个 input 元素,把它移到用户看不见的位置,把目标字符串写入其中,调用它的 select 方法选中刚输入的内容,然后 document.execCommand('Copy') 来执行复制的操作。let $copyPlaceholder = $('<input class="copy-placeholder" type="text" />');$('body').append($copyPlaceholder);function copyText(text) { $copyPlaceholder.val(text); $copyPlaceholder[0].select(); document.execCommand('Copy'); $copyPlaceholder.val(''); $copyPlaceholder[0].blur(); UI.alertSecond('Copied.');}这一套在 PC 上是没问题的,但是实测苹果和安卓上的各种浏览器都不支持 document.execCommand,都会返回 false,并且不产生复制的操作。然后引用了 clipboard.js,手机上也能正常操作了。然而问题来了,我看了半天源码没找到里面的 JS 是怎样和剪贴板交互的,难道除了 document.execCommand() 还有别的路子?麻烦大家用过这个库的解读一下,非常感谢
添加回答
举报
0/150
提交
取消