84 votes

Comment puis-je enregistrer des informations localement dans mon extension chrome ?

Je veux que mon extension chrome enregistre certaines informations, et je ne suis pas sûr de savoir comment commencer le code... J'ai besoin de sauvegarder des chaînes de caractères. Par exemple - L'utilisateur saisit une chaîne de caractères (dans une zone de texte au-dessus de la popup) et cette chaîne est affichée sur la popup. Lorsque l'utilisateur quitte la fenêtre et revient, je veux que la chaîne reste la même. (Je crois qu'il doit la sauvegarder). Je ne veux pas l'enregistrer sur mon serveur ou quelque chose comme ça, je veux qu'elle soit enregistrée dans le cache de l'utilisateur ou quelque chose comme ça.

150voto

mattsven Points 9086

Vous pouvez désormais tirer parti de la fonction storage API pour faire cela aussi. Contrairement à localStorage Il est également accessible depuis le contenu scripts.

//  Somewhere in your manifest...

{
    "permissions": [
        "storage"
    ]
}

//  Usage:

//  PERSISTENT Storage - Globally
//  Save data to storage across their browsers...

chrome.storage.sync.set({ "yourBody": "myBody" }, function(){
    //  A data saved callback omg so fancy
});

chrome.storage.sync.get(/* String or Array */["yourBody"], function(items){
    //  items = [ { "yourBody": "myBody" } ]
});

//  LOCAL Storage

// Save data to storage locally, in just this browser...

chrome.storage.local.set({ "phasersTo": "awesome" }, function(){
    //  Data's been saved boys and girls, go on home
});

chrome.storage.local.get(/* String or Array */["phasersTo"], function(items){
    //  items = [ { "phasersTo": "awesome" } ]
});

Plus d'informations sur le fonctionnement de ces manigances ici : https://developer.chrome.com/extensions/storage#type-StorageArea

Ancienne réponse :

Utilisez localStorage . Google Chrome met en œuvre certaines fonctionnalités de HTML5, et c'est l'une d'entre elles.

//Pull text from user inputbox
var data = document.getElementById("this_input").value;
//Save it to the localStorage variable which will always remember what you store in it
localStorage["inputText"] = data; 

Vous devez noter que vous ne pouvez accéder à votre stockage que depuis la page d'arrière-plan (pas de contenu scripts) donc vous devrez utiliser la messagerie pour cela.

2voto

BeauCielBleu Points 133

Il existe désormais une API spécifique, à consulter ici : https://developer.chrome.com/extensions/storage

Notez qu'elle n'est disponible que sur votre page d'arrière-plan et fonctionne dans un monde isolé (vous n'accédez pas aux valeurs contenues dans le localStorage HTML5 du site web).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X