昨天我們了解了 navigator.clipboard
和 new ClipboardItem
的差別,今天我們就來幫我的組合的文字加上連結,成為一位貼心的同事吧!
const mrUrl = window.location.href;
generateReviewContent
改寫
// 準備 HTML 內容(包含連結)
const htmlContent = reviewTemplate
.replace(reviewerNameSymbol, reviewer)
.replace(mrLinkSymbol, `<a href="${mrUrl}">${title}</a>`)
const clipboardItem = new ClipboardItem({
"text/plain": new Blob(
[
textContent
],
{ type: "text/plain" }
),
"text/html": new Blob(
[
htmlContent
],
{ type: "text/html" }
),
});
return clipboardItem
3.addCopyBtn
改寫複製到剪貼簿
const clipboardItem = await generateReviewContent(title, reviewer);
navigator.clipboard.write([clipboardItem]).then(() => {
alert('MR 通知文字已複製!');
});
比較前後寫法:
navigator.clipboard.writeText(message)
navigator.clipboard.write([clipboardItem])
到今天為止,我們已經完成我們的需求囉~
接下來我們就來看看能再做什麼優化吧!
那我們明天見~