在我們的 Chrome Extension 中,複製 Merge Request 通知文字的寫法是:
navigator.clipboard.writeText(message);
不過查過 Clipboard API 發現還有一個比較進階的 ClipboardItem。今天就來比較這兩者的用途與差異。
navigator.clipboard.writeText(message)
navigator.clipboard.writeText("這是一段 MR 通知文字")
.then(() => console.log("已複製!"))
.catch(err => console.error("複製失敗", err));
new ClipboardItem
const text = "這是一段 MR 通知文字";
const html = `<strong>${text}</strong>`;
const clipboardItem = new ClipboardItem({
"text/plain": new Blob([text], { type: "text/plain" }),
"text/html": new Blob([html], { type: "text/html" })
});
navigator.clipboard.write([clipboardItem])
.then(() => console.log("已複製純文字 + HTML"))
.catch(err => console.error("複製失敗", err));