Я хочу, чтобы мое расширение chrome сохраняло некоторую информацию, и я не уверен, как запустить код... Мне нужно, чтобы сохранить строки. Например - пользователь вводит строку (в текстовой области над всплывающим окном), и эта строка отображается во всплывающем окне. Когда пользователь выйдет из него и вернется, я хочу, чтобы строка осталась прежней. (Я верю, что он должен его сохранить) Я не хочу сохранять его на своем сервере или что-то в этом роде, я хочу, чтобы он был сохранен в кеше пользователей или что-то в этом роде.
Как сохранить информацию локально в моем хромовом расширении?
Ответ 1
Теперь вы можете использовать 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 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;
Обратите внимание: вы можете получить доступ только к своему хранилищу со фоновой страницы (без скриптов контента), поэтому вам придется использовать для этого обмен сообщениями.
Ответ 2
Теперь существует конкретный API, проверьте это здесь: https://developer.chrome.com/extensions/storage
Обратите внимание, что он доступен только на вашей фоновой странице и работает в изолированном мире (вы не получаете доступ к значениям, содержащимся в локальном хранилище HTML5 на веб-сайте).