javascript
Clipboard.js:不用Flash实现剪贴板功能的轻量级JavaScript库
Zeno Rocha發布了一個專門用于從web頁面向本地計算機的剪貼板復制文本的JavaScript庫:Clipboard.js。
\\在每一個Github倉庫頁面的側邊欄上都有一個小部件,用來顯示repo的HTTPS克隆地址,當你點擊緊挨著這個部件的按鈕時,就會復制當前repo的URL到用戶的剪貼板中。Github用JavaScript庫ZeroClipboard來實現這一功能,問題是這個庫是用一個不可見的Flash來完成剪貼操作,而Flash技術正被各大瀏覽器廠商冷落,所以勢必要有一個新的方案。
\\\\在今年的早些時候,Firefox瀏覽器默認禁用了Flash,需要用戶明確啟用Flash才可以通過它向剪貼板中復制文本。
\\Mozilla Hacks上的一篇文章中示范了API document.execCommand()的使用方法。MDN的文檔中稱,execCommand“賦予了瀏覽器通過運行指令操作可編輯區域內容的能力。”直到Firefox 41發布,“cut”和“copy”指令才正式啟用。
\\瀏覽器只允許用戶主動觸發這樣的事件,不允許JavaScript代碼隨意將文本復制到剪貼板中,如果代碼嘗試越過用戶自行復制,該調用會失敗。
\\Rocha借鑒了一些思路:通過給execCommand傳遞參數指令來執行相關操作;集成Selection API。通過結合這些技術,Clipboard.js為開發者提供了一個集成了實用的API的多功能輕量級JavaScript庫。如果想要將按鈕與庫綁定,開發者需要聲明觸發剪貼板的元素:
\\\var clipboard = new Clipboard('.btn');\\\主流瀏覽器都支持這個庫,Safari目前仍不支持cut和copy指令。
\\ZeroClipboard的開發者在討論中聲稱也要在他們的庫中加入相同的API的支持,當這些API不被支持時提供向后兼容的Flash功能。ZeroClipboard的貢獻者James Green談起Clipboard.js時說到:“它是一個很好的輕量級選擇,但是我知道,很多用戶的使用環境不是最新的主流瀏覽器,ZeroClipboard在向后兼容Flash的同時支持新的HTML5特性對這些用戶來說至關重要。”
\\HTML5的剪貼板API的提案仍然處于議程中,在大多數瀏覽器只實現了部分支持。
\\查看英文原文:Lightweight JavaScript Library Offers Flash-Free Clipboard Integration
總結
以上是生活随笔為你收集整理的Clipboard.js:不用Flash实现剪贴板功能的轻量级JavaScript库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习CSS(页面布局篇)
- 下一篇: NetSetMan IP地址切换工具