Fehler bei der Verwendung von chrome.- Benachrichtigungen.erstellen "Uncaught TypeError: Cannot read property 'erstellen' von undefined"
Hallo ich bekomme eine Fehlermeldung beim aufrufen von chrome.- Benachrichtigungen.erstellen Sie innerhalb einer Funktion in js einer chrome-app. Kann verwendet werden, feine von außen eine Funktion, aber wenn innerhalb einer Funktion erhalte ich die folgende Fehlermeldung:
Uncaught TypeError: Cannot read property 'erstellen' undefined
Hier ist der code:
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('submit').addEventListener('click', submit);
});
function submit() {
var options = {
type:"basic",
title:"nameVal",
message:"msgVal",
iconUrl:"icon.png",
};
//notification options set
chrome.notifications.create(options,callback);
//notification set
}
function callback() {
console.log("Notification succesfull");
//notification confirmed
}
Dank, ich bin ein noob wenn es um js und chrome-apps, so dass jede Hilfe ist willkommen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es 2 mögliche Ursachen.
Den Sie zu verwenden versuchen, diese Inhalt Skript. Sie können nicht: Inhalt-Skripte sind sehr begrenzt, was Chrome-APIs, die Sie anrufen können.
In diesem Fall müssen Sie delegieren diesen Aufruf an ein hintergrund-script: senden Sie eine Nachricht aus dem Inhalt Skript, um es in einem hintergrund-Skript, und führen Sie die Aktion.
Sie versuchen, rufen Sie es von einer Verlängerung Skript, aber nicht erklären, der
"notifications"
Berechtigung.In diesem Fall die Lösung ist trivial - fügen Sie einfach die Berechtigung.
Haben Sie die chrome-Benachrichtigungen, Berechtigungen, um Ihre manifest.json?
hinzufügen
permissions: ["notifications",//other permissions here]
Den Berechtigungen befasst sich mit dem, was ist und nicht geladen in Ihrer Erweiterung, und was Sie haben Zugang zu.
function callback(notificationId) {...}
. Wenn das nicht funktioniert, versuchen Sie das entfernen der callback-Funktion einen Verweis von der create () - Funktion, damit nur seine...create(options);
Ich habe einen Fall für dieses Undefinierte Frage, wenn ich chrome.- Benachrichtigungen.
Aber mein 'icon_86.png' ist nicht in dem Ordner "Bilder".
Lösung: Es wird in Ordnung sein, wenn ich mit meinem richtigen "iconUrl".
('icon_86.png', es ist in meinem Projekt-root-Verzeichnis)