2016-10-23 1 views
0

Ich kann keine Benachrichtigung von meiner Chrome-Erweiterung auslösen. Ich bin mir bewusst, dass wir es nicht direkt aus einem Inhaltsskript auslösen können, weshalb ich den Benachrichtigungscode in der Datei background.js habe. Aber das funktioniert immer noch nicht. Ich brauche deine Hilfe, um herauszufinden, wie Benachrichtigungen von einer Chrome-Erweiterung angezeigt werden.Benachrichtigung über Inhaltsskript kann nicht ausgelöst werden

Inhalt Drehbuch:

{ 
    "name": "test", 
    "version": "0.0.1", 
    "manifest_version": 2, 
    "description": "xdsfds", 
    "author": "Miraj", 
    "background": { 
    "scripts" : ["background.js"], 
    "persistent" : false 
    }, 
    "content_scripts": [ 
    { 
     "matches": ["https://google.com/*","file:///*/Desktop/extensionPage.html"], 
     "js": ["/js/lib/jquery-3.1.1.min.js", 
       "/js/lib/bootstrap.min.js", 
       "/js/lib/angular.min.js", 
       "/js/lib/idbstore.js", 
       "/js/contentScript.js", 
       "/js/angJs/main.js", 
       "/js/angJs/communiqueService.js", 
       "/js/angJs/commTrackerDir.js"], 
     "css": ["/css/sforce.css", 
       "/css/main.css"] 
    } 
    ], 
    "web_accessible_resources": [ 
    "/templates/*" 
    ], 
    "permissions": [ 
    "cookies", 
    "unlimitedStorage", 
    "notifications" 
    ] 
} 

Background.js

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) { 
     alert('i am listening'); //this is getting invoked 

     var opt = { 
      type: "basic", 
      title: "Primary Title", 
      message: "Primary message to display", 
      iconUrl: '/images/notification.png' 
     }; 
     chrome.notifications.create(new Date().getTime(), opt, function(rs){ 
      alert(rs); 
     }); 

     sendResponse({returnMsg: "All good!"}); // optional response 
    }); 

ContentScript.js

chrome.extension.sendMessage({msg: "Sup?"}, function(response) { 
    // optional callback - gets response 
    console.log(response); 
}); 
+0

Haben Sie überprüft, dass Ihre Benachrichtigung ausgelöst wird, wenn sie sich außerhalb des 'extension.onMessage'-Listeners befindet? Was siehst du in der Hintergrundseitenkonsole der Erweiterung? – Makyen

+0

Warum verwenden Sie 'chrome.extension.onMessage' /' sendMessage'? Ich würde erwarten, dass Sie ['chrome.runtime.onMessage'] (https://developer.chrome.com/extensions/runtime#event-onMessage) verwenden. – Makyen

Antwort

0

Die Tanne st Argument für chrome.notifications.create sollte eine Zeichenfolge sein. new Date().getTime() gibt eine Ganzzahl zurück. Sie können ""+new Date().getTime() verwenden, um es in eine Zeichenfolge zu konvertieren.

Verwandte Themen