Chrome扩展程序 - 某些网页上的通知

时间:2015-11-19 15:51:13

标签: javascript google-chrome google-chrome-extension

我想在用户访问某些网页时弹出Chrome通知,例如' www.amazon.com'或者' google.com'扩展加载到chrome完全没有错误,但是当我前往那些特定页面时,通知不会弹出。

我目前有以下脚本。

的manifest.json

{
  "name": "Test",
  "version": "0.0.1",
  "manifest_version": 2,
  "description": "This extension was created with the awesome extensionizr.com",
  "homepage_url": "http://www.test.co.uk",
  "icons": {
    "16": "icons/icon16.png",
    "48": "icons/icon48.png",
    "128": "icons/icon128.png"
  },
  "default_locale": "en",
  "background": {
    "page": "src/bg/background.html",
    "persistent": true
  },
  "options_page": "src/options/index.html",
  "browser_action": {
    "default_icon": "icons/icon19.png",
    "default_title": "browser action demo",
    "default_popup": "src/browser_action/browser_action.html"
  },
  "permissions": ["notifications"],
  "content_scripts": [
    {
      "matches": ["http://www.amazon.com/*", "http://amazon.co.uk/*"],
      "js": ["js/script.js"]
    }
  ]
}

JS /的script.js

if(onCertainWebsitesNeedNotificationAppearTrue) {
    // send message to background script
    chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
});
}

background.js

chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    chrome.pageAction.show(sender.tab.id);
    sendResponse();
  });


chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        //alert("good");
        if (request.greeting == "hello")
        createNotification();
    });
function createNotification(){
     var opt = {type: "basic",title: "Your Title",message: "Your  message",iconUrl: "128.png"}
     chrome.notifications.create("notificationName",opt,function(){});

//include this line if you want to clear the notification after 5 seconds
     setTimeout(function(){chrome.notifications.clear("notificationName",function(){});},10000);
}

Chrome扩展编码的新功能,所以任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

onCertainWebsitesNeedNotificationAppearTrue未在任何地方定义,因此代码未执行且消息未发送。

error

使用devtools debugger来诊断问题。

同样从chrome.extension.onMessage回调中的chrome.runtime.onMessage回调中移动代码并删除前者。