web-dev-qa-db-fra.com

Chrome extension storage.sync.set dans le script de contenu lève une exception

J'ai un problème étrange qui a perdu trop de temps. J'ai un script de contenu qui essaie de lire certaines données de l'API storage.sync mais il échoue.

J'ai ajouté l'autorisation de stockage et j'ai pu travailler avec l'API storage.sync dans le fichier options.js.

Pouvez-vous repérer ce qui a mal tourné?

document.addEventListener('DOMContentLoaded', function () {   

     chrome.storage.sync.get([
            'var1',
            'var2',        
        ], function(items) {        
            alert("got it");
     });
}

Voici le message d'erreur:

Contexte CONTENT_SCRIPT pour xxxxx) Lazy requiert de l'extension.binding n'a pas défini le champ de liaison

(Contexte CONTENT_SCRIPT pour xxxxx) extensions :: lastError: 82: TypeError non capturé: Impossible de convertir undefined ou null en objet {TypeError: Impossible de convertir undefined ou null en objet à Object.clear (extensions :: lastError: 82: 23) à handleResponse ( extensions :: sendRequest: 84: 15) lors de la restauration sur HTMLDocument.}

14
embedded

J'ai eu la même erreur et elle est due au fait que le débogueur a arrêté le flux d'exécution au milieu. Une fois que j'ai supprimé le débogueur/points d'arrêt dans mon "Script de contenu" et "Script d'arrière-plan" et tout rechargé, je n'ai pas vu l'erreur.

30
Sudheer

J'obtenais également cette même erreur. Je l'ai corrigé en désactivant et réactivant mes extensions de navigateur Chrome. J'espère que cela vous aidera.

14
crgolden

J'ai eu le même problème lors de l'injection de code dans une page html. L'utilisation de nouveaux identifiants immédiatement après les avoir injectés dans la page html semble planter le débogueur mais pas la page elle-même. Tout fonctionne et le message d'erreur n'apparaît qu'une seule fois lors de l'injection du code. Il semble que cela provienne du cache. Cela ne s'est produit qu'une fois lors de l'actualisation de la page et jamais après avoir vidé le cache ... Désolé pas très utile, mais c'est ce que j'avais et je ne pouvais plus reproduire.

1
user7325014