需求大概是:在瀏覽器中點某個‘復制’按鈕之后,寫入該按鈕的某個屬性至剪貼板。我開始是這樣做的:添加一個 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() 還有別的路子?麻煩大家用過這個庫的解讀一下,非常感謝
clipboard.js 是如何控制設備的剪切板的?
慕的地6264312
2018-10-17 17:14:35