代码之家  ›  专栏  ›  技术社区  ›  Hasan A Yousef Michael Benjamin

通知未显示

  •  0
  • Hasan A Yousef Michael Benjamin  · 技术社区  · 2 年前

    我读过 this 并试图制作一个显示通知的简单扩展,所以我写了以下内容:

    // background.js
    let color = '#3aa757';
    
    chrome.runtime.onInstalled.addListener(() => {
        chrome.storage.sync.set({ color });
      });
    
      chrome.contextMenus.create({
        "id": "sampleContextMenu",
        "title": "Sample Context Menu",
        "contexts": ["selection"],
      });
      
    // Example of a simple user data object
    const user = {
      username: 'demo-user'
    };
    
    chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
      // 2. A page requested user data, respond with a copy of `user`
      if (message === 'get-user-data') {
        showStayHydratedNotification()
        sendResponse(user);
      }
    });
      
    
      function showStayHydratedNotification() {
        chrome.notifications.create('NOTFICATION_ID', {
          type: 'basic',
          iconUrl: '../m.png',
          title: 'notification title',
          message: 'notification message',
          priority: 2,
          buttons: [
            {
                title: 'Yes'
            },
            {
                title: 'No'
            }
        ]
      })
    }
    

    //content-script
    
    document.body.style.backgroundColor = 'orange';
    console.log('Hello')
    
    // 1. Send the background a message requesting the user's data
    chrome.runtime.sendMessage('get-user-data', (response) => {
      // 3. Got an asynchronous response with the data from the background
      console.log('received user data', response);
     // initializeUI(response);
    });
    

    我的清单是:

    {
        "name": "Getting Started Example",
        "description": "Build an Extension!",
        "version": "1.0",
        "manifest_version": 3,
        "background": {
            "service_worker": "js/background.js"
          },
          "permissions": ["storage", "activeTab", "contextMenus", "scripting", "alarms", "notifications"],
          "options_page": "html/options.html",
          "action": {
            "default_popup": "html/popup.html"
          },
          "content_scripts": [
            {
              "matches": ["http://*/*", "https://*/*"],
              "exclude_matches": ["*://*/*business*"],
              "run_at": "document_idle",
              "css": ["css/my-styles.css"],
              "js": ["js/content-script.js"]
            }
          ]
      }
    

    扩展结构为:

    enter image description here

    当我加载页面时,扩展中的一切都很好,除了通知,它没有显示,我也没有收到任何错误:

    enter image description here

    我可能犯了什么错误?

    0 回复  |  直到 2 年前