Shims for GM_setClipboard and GM.setClipboard.
此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/483593/1304472/clipboard-shims.js
// ==UserScript==
// @name clipboard-shims
// @description Shims for GM_setClipboard and GM.setClipboard.
// @author Jason Kwok
// @namespace https://jasonhk.dev/
// @version 1.0.0
// @license MIT
// ==/UserScript==
let GM_setClipboard = function GM_setClipboard(data, type = "text/plain")
{
if (navigator.clipboard?.write)
{
navigator.clipboard.write([new ClipboardItem({ [type]: data })]);
}
else
{
document.addEventListener("copy", (event) =>
{
event.preventDefault();
event.stopImmediatePropagation();
event.clipboardData.setData(type, data);
}, { capture: true, once: true });
document.execCommand("copy");
}
}
GM.setClipboard = GM_setClipboard;