iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
佛心分享-SideProject30

從零開始改善工作之 Chrome Extension: MR 通知文字小工具系列 第 23

Day 23:提升 UX — 加上 Toast 訊息回饋

  • 分享至 

  • xImage
  •  

在之前我們改善了 popup 頁面 UIUX 體驗,但通知只用 alert 視窗提醒,醜醜的
今天就來讓通知的樣式更好看吧!

為了不干擾使用者體驗,我們選擇用 Toast
讓通知文字可以短暫浮現,幾秒後自動消失

方法跟我們加入複製按鈕類似,那我們就來實作吧!

實作

  1. 在 content_script.js 中新增一個可以建立 toast 的 function

    function showToast(message) {
         // 建立一個 div
         const toast = document.createElement("div");
         toast.innerText = message;
    
         // 基本樣式
         toast.style.position = "fixed";
         toast.style.top = "20px";
         toast.style.right = "20px";
         toast.style.background = "rgba(0,0,0,0.7)";
         toast.style.color = "#fff";
         toast.style.padding = "8px 12px";
         toast.style.borderRadius = "6px";
         toast.style.zIndex = "9999";
         toast.style.fontSize = "20px";
         toast.style.transition = "opacity 0.3s ease";
         toast.style.opacity = "1";
    
         document.body.appendChild(toast);
    
         // 幾秒後自動消失
         setTimeout(() => {
             toast.style.opacity = "0";
             setTimeout(() => toast.remove(), 300);
         }, 2000);
     }
    
  2. 接著我們改寫複製成功 alert 的部分

     navigator.clipboard.write([clipboardItem]).then(() => {
         showToast("✅ 已成功複製通知文字!");
     }).catch(() => {
         showToast("❌ 複製失敗,請再試一次");
     });
    

這樣我們就可以得到一個好看的 Toast 訊息囉!

實際測試

  1. 打開一個 GitLab Merge Request 頁面
  2. 點擊 Content Script 注入的"複製"按鈕
  3. 複製成功後,查看顯示效果
    https://ithelp.ithome.com.tw/upload/images/20251003/2015392838yHuFFmlv.png

上一篇
Day 22:介紹 Tabs API(控制瀏覽器分頁)
下一篇
Day 24:延伸應用 — 自動幫 MR 標題加 prefix
系列文
從零開始改善工作之 Chrome Extension: MR 通知文字小工具24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言