Rozszerzenie Chome: wysyłanie danych chrome.storage ze skryptu w tle do popup / contentscript
Jak opisano w tytule, próbuję napisać skrypt w tle, który będzie nasłuchiwał żądań ładowania z popup.js lub contentscript.js. Gdy otrzymuje obciążenie, pobiera zawartość chrome.storage.local, wykonuje trochę przetwarzania danych (dla pętli) i wysyła je do requestera.
Obecny problem, czyli mój kod, odbiera żądanie, ale nie odsyła danych. Mój kod jest wymieniony poniżej:
popup.js:
chrome.runtime.sendMessage({greeting: "Load"}, function(response) {
console.log(response);
}
background.js:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if(request.greeting=='Load') {
chrome.storage.local.get(null,function(storeObject){
var newList=[];
//Perform some dataprocessing to store part of storeObject into newList
sendResponse(newList);
});
}
});
Myślę, że problem związany jest z zasięgiem, ponieważ po debugowaniu wygląda na to, że sendResponse próbuje wysłać z chrome.storage zamiast background.js. Ponadto, jeśli wyślę wiadomość na zewnątrz (przed / po) wywołaniu zwrotnym chrome.storage.local, popup.js otrzyma wiadomość. Bezużyteczny jestem dość zagubiony w tym, co zrobić, aby przekazać ten komunikat i doceniłbym każdą pomoc.