剪貼簿
剪貼簿
是 Windows、Linux 和 Mac 的剪貼簿抽象。
概要
// get the system clipboard var clipboard = nw.Clipboard.get(); // Read from clipboard var text = clipboard.get('text'); console.log(text); // Or write something clipboard.set('I love NW.js :)', 'text'); // And clear it! clipboard.clear();
Clipboard.get()
- 傳回
{剪貼簿}
剪貼簿物件
注意
X11 中不支援選擇剪貼簿。
clip.set(data, [type, [raw]])
data
{字串}
要寫入剪貼簿的資料type
{字串}
選用 資料的類型。支援text
、png
、jpeg
、html
和rtf
。預設情況下,type
設為"text"
。raw
{布林}
選用 需要原始影像資料。此選項僅在類型為png
或jpeg
時才有效。預設情況下,raw
設為false
。
將 type
的 data
寫入剪貼簿。此方法會清除剪貼簿並以提供的 data
取代。因此,再次呼叫此方法會以新的資料覆寫。若要同時將多種類型的資料寫入剪貼簿,您需要使用以下 clip.set(clipboardDataList)。
影像格式
從剪貼簿讀取或寫入的影像可以是 JPEG 或 PNG。當 raw
未設定或設為 false
時,預期資料為使用 Base64 編碼的有效 資料 URI。當 raw
設為 true
時,資料僅為 Base64 編碼的影像資料,不包含 data:<mime-type>;base64,
部分。
clip.set(clipboardData)
clipboardData
{物件}
JSON 物件,包含要寫入剪貼簿的data
、type
和raw
。請參閱 clip.set(data, [type, [raw]]) 以取得詳細的引數說明。
clip.set(clipboardDataList)
clipboardDataList
{陣列}
要寫入剪貼簿的clipboardData
陣列。請參閱 clip.set(clipboardData) 和 clip.set(data, [type, [raw]]) 以取得詳細的引數說明。
此方法可同時將多種資料類型寫入剪貼簿。
範例:將影像和指向該影像的 <img>
寫入剪貼簿
var fs = require('fs'); var path = require('path'); // resolve path as absolute path in order to be used by other applications var pngPath = path.resolve('nw.png'); // read the image from file system as base64 encoded string var data = fs.readFileSync(pngPath).toString('base64'); // transform file path to URL var html = '<img src="file:///' + encodeURI(data.replace(/^\//, '')) + '">'; var clip = nw.Clipboard.get(); // write both PNG and HTML to clipboard clip.set([ {type: 'png', data: data, raw: true}, {type: 'html', data: html} ]);
clip.get([type, [raw]])
type
{字串}
選用 資料的類型。支援text
、png
、jpeg
、html
和rtf
。預設情況下,type
設為"text"
。raw
{Boolean}
選用 需要原始影像資料。此選項僅在類型為png
或jpeg
時才有效。- 傳回
{String}
從剪貼簿擷取的資料
從剪貼簿取得 type
的資料。
clip.get(clipboardData)
clipboardData
{Object}
JSON 物件,包含用於從剪貼簿讀取資料的type
和raw
參數。有關詳細參數規格,請參閱 clip.get([type, [raw]])。- 傳回
{String}
從剪貼簿擷取的資料
clip.get(clipboardDataList)
clipboardDataList
{Array}
用於從剪貼簿讀取資料的clipboardData
陣列。此方法可同時從剪貼簿讀取多種資料類型。有關詳細參數規格,請參閱 clip.get(clipboardData) 和 clip.get([type, [raw]])。- 傳回
{Array}
從剪貼簿擷取的clipboardData
陣列。每個項目包含type
、data
和raw
(選用) 屬性。
clip.readAvailableTypes()
- 傳回
{Array}
目前剪貼簿中可用的資料類型清單。每個項目都是下列類型之一text
:純文字。可以使用clip.get('text')
讀取。html
:HTML 文字。可以使用clip.get('html')
讀取。rtf
:RTF (Rich Text Format)。可以使用clip.get('rtf')
讀取。png
:PNG 影像。可以使用clip.get('png')
讀取。jpeg
:JPEG 影像。可以使用clip.get('jpeg')
讀取。
您可以使用傳回的清單作為建議,從剪貼簿取得正確的資料。
clip.clear()
清除剪貼簿。