JavaScript復(fù)制內(nèi)容到系統(tǒng)剪切板的實現(xiàn)

最近寫一個多平臺接入的代碼焚虱,有個小需求奶是,一鍵嵌入代碼,Mark一下實現(xiàn)過程和遇到的一些問題淆储,大家共勉。


實現(xiàn)方式


搜索資料常見的就2種方式

1 第三方庫:常用的是clipboard.js

2 原生方法:document.execCommand()

簡介

1 其實支持這種需求的第方庫不是很多家浇,但是最最常用的就是clipboard.js

這是 官網(wǎng)?https://clipboardjs.com/

非常easy 這里就不在多做介紹

2 哈哈驚不驚喜本砰,意不意外,JS竟然原生支持復(fù)制到剪切板功能钢悲,但是我搜索的資料的時候点额,很多答案給人的感覺就是JS原生不支持,讓我有了JS真lower的感覺莺琳。

后來搜索文檔發(fā)現(xiàn)有個document.execCommand()方法 MDN文檔还棱,我就嘗試了幾次,我這人就喜歡實踐出真知芦昔,沒有詳細看文檔诱贿,但這樣也導(dǎo)致遇到了很多不是坑的坑娃肿,后邊會列出????咕缎。

方法介紹

bool = document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)

返回一個Boolean值表示操作是否成功

aCommandName:表示命令名稱珠十,常見的就是copy

aShowDefaultUI:是否展示用戶界面,一般都是false

aValueArgument:額外的參數(shù)凭豪,具體看文檔吧焙蹭,我沒有使用過

書接上文,為啥之前我們(主要是我)沒有搜索到document.execCommand的相關(guān)實現(xiàn)資料呢嫂伞,因為這個方法兼容性不好孔厉,哈哈但是現(xiàn)在兼容性不錯,主流瀏覽器和移動端基本都支持

有圖有真相帖努,具體的還可以參考兼容性


html 代碼我項目用的是Vue的框架

JS


這是常見的復(fù)制輸入框的內(nèi)容撰豺。

bug 坑坑

那我如果復(fù)制其他標簽的內(nèi)容呢比方說p div span標簽內(nèi)容呢,或者直接賦值呢

這就是我上面說的不好好看文檔定義的坑拼余,(其實是咱看著英文就頭暈污桦,論會一門外語的重要性????)

重點解釋? 坑

這就不貼定義了,直接說就是定義這個方法只適用可編輯區(qū)域匙监。所以除了inout textarea標簽其他標簽是通通不行的凡橱,那咋辦呢。

一個思路

就是寫一個看不見的input亭姥,把需要復(fù)制的值賦給這個輸入框

但是這里大家注意哦 不要把input 設(shè)置hidden屬性稼钩,不要問為什么,因為血的教訓(xùn)????

其實我的理解是因為hidden隱藏了达罗,就沒辦法輸入了坝撑,就不算可編輯區(qū)了

不顯示的方法

?1 JS創(chuàng)建input標簽

const input=document.createElement('input');

document.body.appendChild(input);

input.setAttribute('value','聽說你想復(fù)制我');

input.select();

2 CSS設(shè)置

定位等,自己嘗試吧

iOS坑

又是iOS奇葩粮揉,在前端這塊绍载,我遇到的奇葩iOS文本比安卓多。

現(xiàn)象

1 點擊復(fù)制屏幕下方會出現(xiàn)抖動滔蝉,慢動作就是鍵盤彈起來又瞬間收回去

2 無法復(fù)制

?原因?

1 因為聚焦所以鍵盤被拉起了

2 input.select()在ios下沒有選中全部內(nèi)容

解決辦法

1鍵盤失去焦點就行击儡,只讀 input.setAttribute('readonly', 'readonly')

2 設(shè)置選中內(nèi)容就行, input.setSelectionRange(0, input.value.length)




下面是自己寫文章時候的蝠引,因為文章是過了N久之后寫的阳谍,正好看了這個鏈接,所以也回憶下螃概,Mark下矫夯,希望大家都養(yǎng)成及時寫文章的習(xí)慣。

參考鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吊洼,一起剝皮案震驚了整個濱河市训貌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖递沪,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豺鼻,死亡現(xiàn)場離奇詭異,居然都是意外死亡款慨,警方通過查閱死者的電腦和手機儒飒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來檩奠,“玉大人桩了,你說我怎么就攤上這事〔捍粒” “怎么了井誉?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長整胃。 經(jīng)常有香客問我送悔,道長,這世上最難降的妖魔是什么爪模? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任欠啤,我火速辦了婚禮,結(jié)果婚禮上屋灌,老公的妹妹穿的比我還像新娘洁段。我一直安慰自己,他們只是感情好共郭,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布祠丝。 她就那樣靜靜地躺著,像睡著了一般除嘹。 火紅的嫁衣襯著肌膚如雪写半。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天尉咕,我揣著相機與錄音叠蝇,去河邊找鬼。 笑死年缎,一個胖子當著我的面吹牛悔捶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播单芜,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蜕该,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洲鸠?” 一聲冷哼從身側(cè)響起堂淡,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绢淀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萤悴,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年更啄,在試婚紗的時候發(fā)現(xiàn)自己被綠了稚疹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片居灯。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡祭务,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出怪嫌,到底是詐尸還是另有隱情义锥,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布岩灭,位于F島的核電站拌倍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏噪径。R本人自食惡果不足惜柱恤,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望找爱。 院中可真熱鬧梗顺,春花似錦、人聲如沸车摄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吮播。三九已至变屁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間意狠,已是汗流浹背粟关。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留环戈,地道東北人誊役。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像谷市,于是被迫代替她去往敵國和親蛔垢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫迫悠、插件鹏漆、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評論 4 62
  • 由于種種原因,簡書等第三方平臺博客不再保證能夠同步更新,歡迎移步 GitHub:https://github.co...
    萌面大道閱讀 2,477評論 0 2
  • 寫iOS 程序的時候往往需要很多第三方框架的支持艺玲,可以大大減少工作量括蝠,講重點放在軟件本身的邏輯實現(xiàn)上。 GitHu...
    iOS_大菜鳥閱讀 858評論 1 2
  • 今晚流氓兔推薦的歌曲是《借我》饭聚,謝春花忌警。一首淡淡的歌,一陣淡淡的情緒秒梳。以前看到謝春花這三個字法绵,我是不想聽她的歌的。...
    佐恬閱讀 270評論 0 0
  • 微信紅包自打出世以來就極其受歡迎,搶紅包插件可謂紅極一時.今天,我們重新談?wù)創(chuàng)尲t包插件的哪些事兒.本質(zhì)上,搶紅包插...
    涅槃1992閱讀 111,573評論 41 184