Istnieją tylko cztery sposoby chrome.contextMenus:Jak mogę śledzić, czy element menu kontekstowego jest już utworzony przez moje rozszerzenie do Chrome?
create
update
remove
removeAll
Zastanawiam się w jaki sposób mogę sprawdzić, czy jedno menu jest już utworzony?
Próbowałem to:
try {
chrome.contextMenus.update("byname", {});
} catch (e) {
// doesn't exist
}
Ale wydaje się, że błąd nie może zostać złapany (ale pokazane w konsoli).
Dzięki za porady!
Wygląda na to, że twoje 'catch' nie zadziałało, ponieważ wywołanie' .update() 'jest asynchroniczne i możesz uzyskać status błędu tylko wewnątrz wywołania zwrotnego, zgodnie z [chrome.contextMenu.create() docs] (https://developer.chrome.com/extensions/contextMenus#method-create): "Zwróć uwagę, że jeśli wystąpi błąd podczas tworzenia, możesz nie dowiedzieć się, dopóki nie uruchomi się wywołanie zwrotne tworzenia (szczegóły będą w chrome.runtime. lastError). " –