精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何用20行JS代碼實現(xiàn)粘貼板功能

開發(fā) 前端
使用剪貼板是一項基本技能。作為碼農(nóng)都應(yīng)知道,Tab,Ctrl/Cmd + A,Ctrl / Cmd + C以及Ctrl / Cmd + V分別是自動聚焦、復(fù)制、粘貼的快捷鍵。而對普通用戶可能就不太容易了。那么我們是否應(yīng)該提供一個“復(fù)制到剪貼板”按鈕來幫助用戶?這功能應(yīng)該會很有用,即使是對快捷鍵的人非常熟悉的用戶來說。

[[219976]]

使用剪貼板是一項基本技能。作為碼農(nóng)都應(yīng)知道,Tab,Ctrl/Cmd + A,Ctrl / Cmd + C以及Ctrl / Cmd + V分別是自動聚焦、復(fù)制、粘貼的快捷鍵。

而對普通用戶可能就不太容易了。即使用戶知道剪貼板是什么,(除了)那些眼神極好或反應(yīng)很快的人,其他情況下很難以突出顯示他們想要的確切文字。若用戶不知道鍵盤快捷鍵,也看不到隱藏的編輯菜單,或從未使用右鍵菜單或不知道長按觸屏彈出選項菜單,那么他很可能無法察覺到復(fù)制功能。

那么我們是否應(yīng)該提供一個“復(fù)制到剪貼板”按鈕來幫助用戶?這功能應(yīng)該會很有用,即使是對快捷鍵的人非常熟悉的用戶來說。

關(guān)于剪貼板的安全

幾年前,瀏覽器不可能直接使用剪貼板。開發(fā)人員不得不通過Flash來實現(xiàn)。

剪貼板看起來無關(guān)緊要,但想象一下,如果瀏覽器能夠隨意查看和操作內(nèi)容,會發(fā)生什么。JS腳本(包括第三方腳本)能查看剪貼板內(nèi)的文本信息,并將密碼,敏感信息甚至整個文檔發(fā)送到遠(yuǎn)程服務(wù)器。

現(xiàn)在的剪貼板基本功能有限,有如下限制:

1.大多數(shù)瀏覽器支持剪貼板,除了Safari。(譯注,Safari其實已經(jīng)支持)

2.支持因瀏覽器而異,有些功能不完整或有問題。

3.事件必須由用戶必須發(fā)起,如點擊鼠標(biāo)或按下鍵盤。腳本不能自由訪問剪貼板。

document.execCommand()

此方法就是實現(xiàn)剪貼板的關(guān)鍵,它可以傳入cut,copy,paste三種參數(shù)。從最常用的document.execCommand('copy')開始介紹。

在使用之前,我們應(yīng)該檢查瀏覽器是否支持copy命令:document.queryCommandSupported('copy');或document.queryCommandEnabled('copy');,這兩個方法效果相同。

但在Chrome下,盡管Chrome確實支持使用copy命名,但兩個方法都返回false。所以***是將檢查代碼包在一個try-catch代碼塊中。

下一步,我們應(yīng)該允許用戶復(fù)制什么呢?必須突出顯示文本,所有瀏覽器都可用select()方法選擇文本input和textarea內(nèi)的文本。同時Firefox和Chrome / Opera也支持document.createRange方法,該方法允許從任何元素中選擇文本,如下:

 

  1. // select text in #myelement node 
  2. var 
  3.   myelement = document.getElementById('#myelement'), 
  4.   range = document.createRange(); 
  5.  
  6. range.selectNode(myelement); 
  7. window.getSelection().addRange(range); 

但I(xiàn)E / Edge不支持。

clipboard.js

若你不想自己實現(xiàn)一個較為健壯的跨瀏覽器剪貼板方法的話,clipboard.js可以幫你。它有好幾種設(shè)置選項的方式,如H5的data屬性,設(shè)置綁定觸發(fā)元素以及目標(biāo)元素,如:

 

  1. <input id="copyme" value="text in this field will be copied" /> 
  2.  
  3. <button data-clipboard-target="#copyme">copy</button> 

 

自己動手實現(xiàn)

clipboard.js大小僅2Kb,若僅實現(xiàn)如下的部分功能的話,那么可以在20行的代碼內(nèi)實現(xiàn):

1.僅部分表單元素可被復(fù)制

2.若在不支持的瀏覽器中(沒錯,就是指Safari)(譯注,Safari其實已經(jīng)支持),可突出顯示選中文本,并提示用戶按Ctrl / Cmd + C。

像clipboard.js一樣,先創(chuàng)建一個button用于觸發(fā)方法,它具有一個data屬性data-copytarget,指向要copy的元素(即#website)

 

  1. <input type="text" id="website" value="http://www.sitepoint.com/" /> 
  2.  
  3. <button data-copytarget="#website">copy</button> 

 

一個立即執(zhí)行函數(shù)表達(dá)式綁定click事件的函數(shù),該函數(shù)用于解析data-copytarget屬性內(nèi)容,選擇對應(yīng)字段的文本并執(zhí)行document.execCommand('copy')。若失敗,文本保持選中狀態(tài),顯示提示框:

 

  1. (function() {  
  2.  'use strict' 
  3.  // click events  
  4.  document.body.addEventListener('click', copy, true);  
  5.  // event handler  
  6.  function copy(e) {  
  7.    // find target element  
  8.    var  
  9.      t = e.target,  
  10.      c = t.dataset.copytarget,  
  11.      inp = (c ? document.querySelector(c) : null);  
  12.    // is element selectable?  
  13.    if (inp && inp.select) {  
  14.      // select text  
  15.      inp.select();  
  16.      try {  
  17.        // copy text  
  18.        document.execCommand('copy');  
  19.        inp.blur();  
  20.      }  
  21.      catch (err) {  
  22.        alert('please press Ctrl/Cmd+C to copy');  
  23.      }  
  24.    }  
  25.  }  
  26. })(); 

示例

雖然在上例中,算上樣式和動畫的代碼,代碼已經(jīng)超過20行了,但動畫和樣式是可選的。

總結(jié):

1.通過.select()選擇要復(fù)制的表單元素的內(nèi)容

2.調(diào)用document.execCommand("copy")方法

3.調(diào)用.blur()方法,從表單元素中移除焦點

4.將第2、3步包在try catch塊中,在不支持的瀏覽器下則提示

其他方式

 

有很多新穎的剪貼板應(yīng)用方式。例如Trello.com,將鼠標(biāo)懸停在卡片上時,可以按Ctrl / Cmd + C 并將該卡片的鏈接地址復(fù)制到剪貼板。其背后實現(xiàn)的方式為:先創(chuàng)建一個包含URL的隱藏表單元素,然后選中并復(fù)制其內(nèi)容。非常巧妙且實用 —— 我懷疑很少有用戶知道這個功能! 

責(zé)任編輯:龐桂玉 來源: 程序人生
相關(guān)推薦

2021-12-02 10:11:44

鴻蒙HarmonyOS應(yīng)用

2023-02-06 07:17:22

2022-03-26 22:28:06

加密通信Python

2020-02-28 15:33:12

代碼人工智能檢測

2015-08-10 11:09:09

Python代碼Python

2020-04-10 12:25:28

Python爬蟲代碼

2015-09-21 09:36:54

20 億代碼谷歌

2015-09-18 11:47:45

代碼Google管理

2018-06-19 08:35:51

情感分析數(shù)據(jù)集代碼

2011-07-22 13:22:10

Java.NETDataTable

2021-12-16 06:21:16

React組件前端

2021-03-02 10:57:39

二叉樹二叉堆節(jié)點

2009-06-16 10:44:50

JS代碼折疊Visual Stud

2022-03-14 09:57:30

Python代碼

2020-04-02 15:39:51

代碼編譯器前端

2024-11-08 17:22:22

2024-09-23 10:00:00

代碼Python

2020-07-20 09:20:48

代碼geventPython

2022-07-07 15:50:19

Python開發(fā)功能

2021-06-18 10:12:09

JS代碼前端
點贊
收藏

51CTO技術(shù)棧公眾號

青青青国产在线视频| 精品日本一区二区三区| 中文字幕av久久爽一区| 国产精品18| 亚洲成人tv网| 亚洲国产日韩欧美| 国精产品乱码一区一区三区四区| 六月天综合网| 萌白酱国产一区二区| 国产精品无码午夜福利| 国产成人久久精品一区二区三区| 午夜欧美视频在线观看| 亚洲资源视频| 日本在线视频1区| 久久99精品国产.久久久久久| 欧美国产激情18| 亚洲精品国产精品国自产网站| 国产一区二区| 欧洲精品在线观看| 亚洲国产成人精品无码区99| 亚洲成人三级| 久久久精品天堂| 99在线首页视频| 在线观看一二三区| 午夜在线一区| 久久久久久久久久久91| 疯狂试爱三2浴室激情视频| 亚洲人挤奶视频| 精品国产乱码久久久久久牛牛| 国产成年人视频网站| 中文字幕在线看片| 亚洲国产你懂的| 无码人妻精品一区二区三区99v| 精品资源在线看| 99麻豆久久久国产精品免费| 99久久99久久精品国产片| 一级黄色片在线观看| 日韩精品电影在线| 欧美在线免费视频| 亚州国产精品视频| 亚洲国产第一| 欧美激情奇米色| 欧美精品一区二区成人| 性xxxx欧美老肥妇牲乱| 日韩有码在线视频| 黄色激情小视频| 成人黄色av| 在线观看视频亚洲| 亚洲av无码国产精品麻豆天美| 欧美电影在线观看完整版| 精品福利在线导航| 欧美xxxxx少妇| 高清欧美性猛交xxxx黑人猛| 精品sm捆绑视频| 在线xxxxx| 风间由美中文字幕在线看视频国产欧美 | 日本一级片免费| 外国成人免费视频| 久久久97精品| 黄色一级免费视频| 伊人久久亚洲影院| 欧美亚洲在线观看| 日日骚av一区二区| 三级一区在线视频先锋| 国产精品视频在线播放| 国产又大又长又粗| 国产一区二区精品久久91| 999国内精品视频在线| 精品人妻一区二区三区蜜桃| 国产精品12区| 国产区日韩欧美| 天天插天天干天天操| 久久综合九色综合97婷婷女人| 欧美一进一出视频| 在线观看美女网站大全免费| 成人免费在线观看入口| 蜜臀av性久久久久蜜臀av| 四虎av在线| 欧美视频在线免费| 色一情一区二区| 最新精品在线| 亚洲九九九在线观看| 青青操在线播放| 欧美日本久久| 国产成人综合精品| 国产精品无码在线播放| fc2成人免费人成在线观看播放| 欧洲亚洲一区二区三区四区五区| 日本在线观看www| 亚洲曰韩产成在线| 日韩无套无码精品| 久久久精品区| 亚洲人av在线影院| 久久高清内射无套| 久久福利一区| 99中文视频在线| 韩国精品视频| 亚洲综合色婷婷| 热久久精品免费视频| 在线视频亚洲欧美中文| 亚洲欧美在线免费观看| 538精品在线视频| 老色鬼久久亚洲一区二区| 亚洲综合国产精品| 黄色国产在线| 亚洲va国产va欧美va观看| 久久综合伊人77777麻豆最新章节| 久久国际精品| 中文欧美日本在线资源| 国产精品第108页| 久久99热这里只有精品| 精品免费视频123区| 亚洲无线看天堂av| 欧美日韩亚洲综合在线 | 成人激情四射网| 国产亚洲美州欧州综合国| 欧美日韩福利在线| 91精品一区| 亚洲天堂男人天堂女人天堂| 国产五月天婷婷| 久久国产剧场电影| 欧美日韩一区在线视频| 国产777精品精品热热热一区二区| 51精品国自产在线| 任你操精品视频| 久久婷婷影院| 久久国产手机看片| heyzo高清国产精品| 制服丝袜亚洲精品中文字幕| 免费看污片的网站| 久久av最新网址| 精品国产第一页| 动漫一区二区| 日韩免费福利电影在线观看| 三级黄色录像视频| 美女精品自拍一二三四| 日韩欧美一区二区三区四区 | 日本www在线| 在线日韩一区二区| 东方伊人免费在线观看| 麻豆成人精品| 欧美精品尤物在线| 综合另类专区| 亚洲品质视频自拍网| 久久亚洲精品石原莉奈| 久久美女艺术照精彩视频福利播放| 日韩欧美一区三区| 婷婷综合成人| 日本一本a高清免费不卡| 欧洲亚洲精品视频| 色婷婷av一区二区三区gif| 99久久人妻精品免费二区| 99pao成人国产永久免费视频| 国产精品一区二区三区观看| 2020日本在线视频中文字幕| 日韩电影视频免费| 久久久久久久久久久久久av| 久久精品欧美一区二区三区不卡| 久久久久久久久久福利| 国产欧美日韩精品一区二区三区| 国产精品久久久久免费a∨| 成人在线免费电影| 欧美久久久一区| 国产97免费视频| 丁香五精品蜜臀久久久久99网站| 日本熟妇人妻xxxx| 日韩中出av| 国产精品午夜一区二区欲梦| 顶级网黄在线播放| 精品处破学生在线二十三| 日韩成人免费在线观看| 久久综合久久综合九色| 日本成年人网址| 成人高清电影网站| 成人av免费电影| 天堂资源在线| 日韩在线免费高清视频| 91国内精品久久久| 亚洲国产一区二区a毛片| 波多野结衣福利| 精品一区二区三区在线播放| 日韩精品一区二区在线视频| 欧美日韩大片免费观看| 国产精品美女免费视频| 日韩三级免费| 亚洲三级免费看| 99re只有精品| 欧美日韩中文字幕| 欧美在线视频第一页| 久久综合色播五月| 永久看看免费大片| 久久精品男女| 日本a在线天堂| 精品国产视频| 国产一区二区高清不卡| 成人黄色在线| 97热精品视频官网| 日本免费在线视频| 亚洲精品suv精品一区二区| 中文字幕一级片| 一区二区三区蜜桃| 国产无遮挡在线观看| 波多野结衣精品在线| 欧美成人福利在线观看| 国产欧美在线| a级片一区二区| 波多野结衣在线观看一区二区| 国产精品大全| 99热这里有精品| 国产成+人+综合+亚洲欧美丁香花| 伊人影院蕉久影院在线播放| 在线观看成人黄色| 天堂国产一区二区三区| 制服丝袜中文字幕亚洲| 国产精品成人无码| 精品人伦一区二区三区蜜桃网站 | 国产亚洲网站| 欧美少妇一区二区三区| 日本一区二区在线看| 久久综合九九| 久久男人av| 官网99热精品| 精品国产三区在线| 国产精品手机播放| 成人涩涩视频| 日本免费一区二区三区视频观看| 成年女人在线看片| 欧美高清视频一区二区| 97caopor国产在线视频| 日韩中文有码在线视频| 91亚洲欧美| 一区二区三区国产在线观看| 男女av在线| 亚洲免费av电影| 午夜性色福利视频| 亚洲国产毛片完整版| 黄色片一区二区三区| 精品乱人伦一区二区三区| 国产高潮流白浆喷水视频| 日本v片在线高清不卡在线观看| 亚洲另类一区二区| 夜夜夜夜夜夜操| 另类小说综合欧美亚洲| 99热一区二区| 蜜臀久久久久久久| 男人添女人下面免费视频| 蜜臀av一区二区在线观看| 国产区二区三区| 免费精品视频在线| 三级一区二区三区| 久久69国产一区二区蜜臀| 欧美一级特黄aaa| 国产一区二区精品久久99| 在线成人精品视频| 国产**成人网毛片九色 | 成人午夜大片免费观看| 在线播放第一页| 99久久精品免费看国产| 丝袜美腿中文字幕| 欧美国产1区2区| 永久免费未视频| 亚洲在线免费播放| 丁香六月婷婷综合| 欧美自拍偷拍午夜视频| 国产影视一区二区| 欧美www视频| 熟妇高潮一区二区高潮| 亚洲人成欧美中文字幕| 色影院视频在线| 久久深夜福利免费观看| 成人爽a毛片免费啪啪动漫| 78m国产成人精品视频| 天天免费亚洲黑人免费| 成人av在线网址| xvideos.蜜桃一区二区| 欧美成人蜜桃| 97精品一区| 三上悠亚久久精品| 日韩成人伦理电影在线观看| 91大神免费观看| 99国产精品国产精品久久| 人妻av无码一区二区三区| 一区二区中文字幕在线| 精品一区免费观看| 欧美无乱码久久久免费午夜一区| a在线观看视频| 亚洲美女中文字幕| 在线三级电影| 国产成人精品综合久久久| 国产精品日韩精品在线播放| 久久涩涩网站| 亚洲国产一区二区在线观看 | 2022成人影院| 成人日韩在线电影| 中文精品一区二区| 久久久天堂国产精品| 久久亚洲精品伦理| 日韩av影视大全| 国产偷国产偷亚洲高清人白洁| 九九热国产在线| 欧美三级日韩在线| 五月婷婷开心中文字幕| zzjj国产精品一区二区| 在线黄色的网站| 国产99午夜精品一区二区三区| 欧美久久综合网| 免费看又黄又无码的网站| 精品系列免费在线观看| 一区二区精品免费| 污片在线观看一区二区 | 亚洲激情在线观看| 美女免费久久| 国产精品91久久久| 天堂网av成人| 日韩精品在线中文字幕| 久久99精品国产.久久久久| 亚洲色成人网站www永久四虎| 无吗不卡中文字幕| 国产小视频一区| 九九热这里只有精品6| 日日夜夜综合| 天堂社区 天堂综合网 天堂资源最新版| 精品动漫一区| 国产精品嫩草69影院| 亚洲欧美另类综合偷拍| 在线观看不卡的av| 在线观看91久久久久久| 姬川优奈av一区二区在线电影| 国产日韩精品推荐| 伊人成人在线| 亚洲精品欧美极品| 丝袜久久网站| 国产精品12| 国产亚洲一区二区三区啪| 成人情趣片在线观看免费| 精品国产123区| 国产视频一区二区三区在线播放 | 亚洲大胆人体视频| 久久久久成人网站| 91精品国产美女浴室洗澡无遮挡| 日韩无码精品一区二区三区| 日韩午夜激情视频| 日韩精品一区不卡| 亚洲mv在线观看| 中文字幕理论片| 最新成人av在线| 免费无遮挡无码永久视频| 性欧美lx╳lx╳| 欧美精品在线观看一区二区| 天天干在线播放| 亚洲女人天堂成人av在线| 邻居大乳一区二区三区| 国内偷自视频区视频综合| 黑人久久a级毛片免费观看| 久久久久久免费看| 久久久久高清精品| 男人午夜免费视频| 一区二区亚洲欧洲国产日韩| av免费不卡| 国产精品久久国产精品| 国产欧美日韩一级| a资源在线观看| 91精品国产一区二区三区香蕉| 性欧美1819sex性高清大胸| 国新精品乱码一区二区三区18| 国产美女精品| 特黄一区二区三区| 日韩欧美另类在线| 黄毛片在线观看| 亚洲精品在线视频观看| 国产一区二区日韩精品| 日韩av综合在线| 一区二区三区无码高清视频| 欧州一区二区三区| 日韩国产欧美亚洲| 欧美国产日韩在线观看| 国产成人久久精品77777综合| 91国产视频在线| 久久亚洲成人| 日本不卡视频一区| 欧美亚洲综合一区| 四虎影院观看视频在线观看| 欧美一二三四五区| 国产一区二区三区免费看| 粉嫩aⅴ一区二区三区| 在线观看久久久久久| 国产精品xxx在线观看| 精品久久久噜噜噜噜久久图片| 亚洲精品水蜜桃| 日韩国产福利| 97超级碰碰| 日韩和的一区二区| 久久综合加勒比| 中文国产成人精品| 欧美jizz19性欧美| 黄色一级片免费播放| 91国产视频在线观看| 男男gaygays亚洲| 一区二区三区电影| www久久久久|