web-dev-qa-db-fra.com

Comment enregistrer des informations localement dans mon extension chrome?

Je souhaite que mon extension Chrome enregistre certaines informations, et je ne sais pas trop comment démarrer le code ........ J'en ai besoin pour enregistrer des chaînes. Par exemple - L'utilisateur entre une chaîne (dans une zone de texte au-dessus de la fenêtre contextuelle) et cette chaîne s'affiche dans la fenêtre contextuelle. Lorsque l'utilisateur le quitte et le renvoie, je souhaite que la chaîne reste la même. (Je crois qu'il doit le sauvegarder) Je ne veux pas le sauvegarder sur mon serveur ou quoi que ce soit d'autre, je veux qu'il soit sauvegardé dans le cache des utilisateurs ou quelque chose du genre.

50
Ariel

Vous pouvez maintenant utiliser l'API storage de Google Chrome pour le faire également. Contrairement à localStorage, cette option est également accessible à partir de scripts de contenu.

//  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 implémente 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; 

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

90
mattsven

Il existe maintenant une API spécifique, cochez cette case: https://developer.chrome.com/extensions/storage

Notez qu'il 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 stockage local HTML5 du site Web).

0
BeauCielBleu