瀏覽器中實現剪切板操作


瀏覽器對剪切板的訪問

Clipboard API

剪貼板 Clipboard API 提供了響應剪貼板命令(剪切、復制和粘貼)與異步讀寫系統剪貼板的能力。從權限 Permissions API 獲取權限之后,才能訪問剪貼板內容;如果用戶沒有授予權限,則不允許讀取或更改剪貼板內容。該 API 被設計用來取代使用 document.execCommand() 的剪貼板訪問方式

方法

Clipboard api 有四個方法,都是返回promise。執行方法時,需要網頁本身處於焦點,可以先觸發一個click或其他事件

read()
從剪貼板讀取數據(比如圖片),返回一個 Promise 對象

readText()
從剪貼板讀取文本,返回一個 Promise 對象

write()
寫入任意數據至操作系統剪貼板

writeText()
寫入文本至操作系統剪貼板
例子:
// 如后台自動運行,則需觸發一個聚焦,或點擊等其他事件,讓頁面處於焦點。
// 一般情況下頁面都是處於焦點中的,所以不是很需要執行下述方法
 document.dispatchEvent(new Event('focus'));
 
 navigator.clipboard.readText().then((data) => console.log(data));

事件

有關剪切板的事件包含三種
copy
cut
parse

document.execCommand [已廢棄的方法]

當一個HTML文檔切換到設計模式時,document暴露 execCommand 方法,該方法允許運行命令來操縱可編輯內容區域的元素。

使用該方法進行復制內容時,一般是先設置一個輸入框,然后選中后執行
document.execCommand('copy')

具體使用方式如下例:

input.focus();
input.setSelectionRange(0, -1);
document.execCommand('copy');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM