Как я могу сохранить информацию локально в моем расширении Chrome? - PullRequest
56 голосов
/ 19 марта 2011

Я хочу, чтобы мое расширение Chrome сохраняло некоторую информацию, и я не уверен, как запустить код ... Мне нужно, чтобы сохранить строки. Например - Пользователь вводит строку (в текстовой области над всплывающим окном), и эта строка отображается во всплывающем окне. Когда пользователь выходит из него и возвращается, я хочу, чтобы строка оставалась прежней. (Я верю, что это должно спасти его) Я не хочу сохранять его на своем сервере или что-то в этом роде, я хочу, чтобы он был сохранен в кэше пользователей или что-то в этом роде.

Ответы [ 2 ]

100 голосов
/ 20 марта 2011

Теперь вы можете использовать API Google Chrome storage, чтобы сделать это. В отличие от localStorage, это доступно и из скриптов контента.

//  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" } ]
});

Подробнее о том, как работают эти махинации, можно узнать здесь: https://developer.chrome.com/extensions/storage#type-StorageArea

Прежний ответ:

Используйте localStorage . Google Chrome реализует некоторые функции HTML5, и это одна из них.

//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; 

Следует отметить, что вы можете получить доступ к своему хранилищу только с фоновой страницы (без скриптов содержимого), поэтому вам придется использовать для этого обмен сообщениями.

0 голосов
/ 18 июня 2014

Сейчас есть определенный API, проверьте это здесь: https://developer.chrome.com/extensions/storage

Обратите внимание, что он доступен только на вашей фоновой странице и работает в изолированном мире (вы не можете получить доступ к значениям, содержащимся вHTML5 localStorage веб-сайта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...