Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
隨著時間的推移,瀏覽器已經實現了多個剪貼板 API,并且在各種舊的和當前的瀏覽器中寫入剪貼板而不觸發錯誤是相當棘手的。在每個支持以某種方式復制到剪貼板的瀏覽器中,clipboard-polyfill都會嘗試盡可能接近異步剪貼板 API。
github地址:https://github.com/lgarron/clipboard-polyfill
特別提醒:
以前有個類庫叫clipboard-js,已經被廢棄,遷移到了clipboard-polyfill
安裝
npm install clipboard-polyfill
引入
import * as clipboard from "clipboard-polyfill"
使用
用JavaScript訪問OS剪貼板已經有幾年了,往往使用的都是document.execCommand(),不幸的是,存在一些問題:
最終,它已被新的異步Clipboard API取代。雖然目前還沒有被所有瀏覽器所支持,但是更易于使用和更強大。
作為開發人員,您將了解剪貼板的工作原理,并定期使用以下鍵盤快捷鍵:
在編程中您可能需要訪問操作板,來完成你的業務邏輯,包括在剪貼板操作完成(例如添加或刪除格式)后修改內容。
以編程方式訪問剪貼板會引發一些安全問題:
為避免潛在的問題,剪貼板API僅可用于通過HTTPS服務的頁面(localhost也是允許的)。在iframe中運行時,父頁面還必須授予clipboard-read和/或clipboard-write許可:
iframe
該API僅可用于活動的瀏覽器選項卡(不適用于背景選項卡),并且只能通過用戶交互(例如單擊)來觸發。必要時,將提示用戶讀取剪貼板數據的權限:
安全提示
當頁面首次請求剪貼板訪問權限時顯示此警報。鑒于API是異步的并返回Promise,因此不會造成任何問題。也可以使用Permissions API檢查和請求狀態。
當navigator.clipboard返回真實結果時,說明剪貼板API可用。例如:
檢測剪貼板是否可用
但是,這不能保證瀏覽器支持所有功能,因此有必要進行進一步檢查。例如,在撰寫本文時,Chrome支持API的readText()方法,而Firefox不支持。
在大多數應用程序中,復制和粘貼文本將是一個有用的選項。該API非常簡單:
代碼示例
您將需要更多的代碼來檢測支持并處理錯誤……
剪貼板API的readText()和writeText()是更通用read()和write()方法的便捷選項,但他們無法操作二級制數據,而read()和write()能夠復制和粘貼任何類型的數據,例如二進制圖像。
復制需要通常由fetch() or canvas.toBlob()方法返回的Blob數據,這被傳遞給ClipboardItem構造函數,因此可以將其寫入剪貼板:
寫入圖片到剪貼板
粘貼更加復雜,因為ClipboardItem可以使用不同的內容類型返回多個對象。因此,有必要遍歷每種類型,直到找到有用的格式為止。例如:
讀取剪貼板內容
大多數瀏覽器都支持此剪貼板事件,并且處理程序函數可以使用作為參數傳遞的clipboardData對象,來攔截事件以進行更改。
以下函數將所有剪切或復制的文本強制為大寫。請注意,將e.preventDefault()停止將覆蓋它的默認剪切/復制操作:
代碼示例
以下代碼將粘貼處理程序附加到特定<textarea>字段,該函數清除現有內容并為文本加上前綴"pasted:":
代碼示例
Clipboard API是新的,但具有合理的瀏覽器支持,并且感覺比舊document.execCommand()選項更健壯,趕快試試吧!
T之家 12 月 5 日消息,有外媒發現,微軟正在與谷歌合作開發一個名為“選擇剪貼板”的全新 API。該 API 將升級 Chrome 和 Edge 等瀏覽器的現有剪貼板功能。
外媒認為,全新的剪貼板更新將大大改善 Windows 10 和 Windows 11 上的復制和粘貼功能,此次更新對于那些需要在線圖像編輯、Office 應用和上傳平臺的人特別有用。
微軟新 API 將擴展復制和粘貼功能。現在,您可以使用瀏覽器在網站和 Windows 應用程序之間復制和粘貼一小部分文件。支持的文件格式列表包括 .JPG 或 .JPEG、PNG、HTML 和一些其他格式。
基于 Chromium 的瀏覽器目前依賴于 Async Clipboard API,它也將為新的 Pickling Clipboard 提供支持,它已經允許應用程序讀取和寫入操作系統剪貼板的常用格式,以便網站和本機 Windows 應用程序可以與它們交互。例如,文本和圖像。
使用建議的 Picple Clipboard API,您將能夠復制和粘貼各種流行的文件類型,例如 .docx 和 TIFF。docx 格式用于 Microsoft Word,而 TIFF 用于圖形設計。預計此更改將使依賴于用戶上傳內容的各種 Web 應用程序受益。
IT之家了解到,微軟官方已經確認該功能現在很可能會隨 Chrome 98 或 Edge 98 一起出現。值得一提的是,目前該功能仍處于開發階段,有可能無法準確在 Chrome 98 上線。
除了這些 Chromium 改進之外,Microsoft 還在開發 Edge 獨有的功能,例如 Windows Search 集成等。
Pickle Clipboard API 允許網站使用標準化的 pickle 格式讀取和寫入任意未凈化的有效負載,以及讀取和寫入操作系統特定格式的有限子集(用于支持舊應用)。剪貼板格式的名稱由瀏覽器以標準化方式進行修改,以表明內容來自網絡,這允許本機應用程序選擇接受未經處理的內容。
動機
強大的 Web 應用程序希望通過操作系統剪貼板(復制粘貼)與 Web 和本機應用程序交換數據負載。現有的 Web 平臺有一個 API,它支持所有平臺上最流行的標準化數據類型(文本、圖像、富文本)。但是,此 API 不會擴展到專用格式的長尾。尤其是,當前的 Web 平臺不支持自定義格式、非 Web 標準格式(如 TIFF(一種大圖像格式))和專有格式(如 .docx(一種文檔格式))。
演示
https://glitch.com/edit/#!/sequoia-innovative-date文檔
https://docs.google.com/document/d/1afc45MQuwxEWgoUeJCO-sOWRSzs31V4JS-kKXJNMTXw/edit
*請認真填寫需求信息,我們會在24小時內與您取得聯系。