九州編程
2019-04-17 18:15:42
是否可以在剪貼板中放置變量?我已經(jīng)看到很多帖子通過(guò)選擇DOM元素中存在的文本然后復(fù)制它來(lái)做到這一點(diǎn),這是相當(dāng)簡(jiǎn)單但我還沒(méi)有看到一個(gè)復(fù)制不在DOM中的東西。我想拿一個(gè)變量或一個(gè)常量來(lái)保存一個(gè)字符串并將其發(fā)送到剪貼板,而不會(huì)出現(xiàn)在瀏覽器窗口中(即使是隱藏元素)。我知道使用隱藏元素將是一個(gè)快速的解決方案,但如果有一個(gè)更簡(jiǎn)潔的方式感覺(jué)有點(diǎn)hacky。
2 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用剪貼板API。它還沒(méi)有完全支持,但它非常好。
你可以像這樣使用它:
navigator.clipboard.writeText("hello from site!") .then(() => console.log(`wrote to clipboard!`)) .catch((error) => console.error(error));
請(qǐng)注意,這僅適用于當(dāng)前網(wǎng)站的重點(diǎn)(文檔是關(guān)注的)
為了讀取從剪貼板中,您可以使用以下功能:
navigator.clipboard.readText() .then(text => console.log(text)) .catch((error) => console.error(error));
這個(gè)需要兩件事才能工作:
與以前一樣,用戶需要專注于網(wǎng)站
將提示用戶確認(rèn)站點(diǎn)從剪貼板讀取的能力(因?yàn)樗梢园舾袛?shù)據(jù)):
火狐
對(duì)于Firefox,除了要求用戶讀取剪貼板的權(quán)限外,它還只允許將其粘貼到textarea中:
Firefox支持版本54的“clipboardRead”權(quán)限,但僅支持在內(nèi)容可編輯模式下粘貼到元素中,對(duì)于內(nèi)容腳本僅適用于。對(duì)于后臺(tái)腳本,可以將任何元素設(shè)置為內(nèi)容可編輯模式。
添加回答
舉報(bào)
0/150
提交
取消