剪貼板——客戶端存儲

  • 2019 年 11 月 26 日
  • 筆記

概述

Clipboard API是通過copy、cut、paste等事件來實現的。

WEB應用程式可以通過處理這些事件,與其他WEB應用程式以及客戶端本地應用程式進行數據交換。

程式碼示例

複製數據

document.addEventListener('copy', function(e){    e.clipboardData.setData('text/plain', 'Hello, hudao!');    e.clipboardData.setData('text/html', '<b>Hello, hudao!</b>');     e.preventDefault(); });

當用戶啟動複製操作時, 如果應用程式沒有取消該事件的預設動作,則所選數據將被複制到剪貼板。 另外,應用程式可以通過event.clipboardData API來控制複製到剪貼板的數據類型和內容。

剪切數據

當用戶啟動剪切操作時, 如果應用程式沒有取消該事件的預設動作,則所選內容將被複制到剪貼板,並從文檔中刪除所選內容。 但是在非編輯環境(non-editable context)中, 如果應用程式也沒有做相應的處理, 「剪切」 操作將不做任何事情。

document.addEventListener('cut', function(e){     e.clipboardData.setData('text/plain', 'Hello, hudao!');     e.clipboardData.setData('text/html', '<b>Hello, hudao!</b>');     e.preventDefault(); });

粘貼數據

當用戶啟動粘貼操作時, 如果應用程式沒有取消該事件的預設動作,則剪貼板數據將粘貼到頁面。 但是在非編輯環境(non-editable context)中, 如果應用程式也沒有做相應的處理, 「粘貼」 操作將不做任何事情。

document.addEventListener('paste', function(e){    if(e.clipboardData.types.indexOf('text/html') > -1){ p    rocessDataFromClipboard(e.clipboardData.getData('text/html'));    e.preventDefault(); }});