Cập nhật 2016:
Google Chrome đã phát hành API lưu trữ: http://developer.chrome.com/extensions/st Storage.html
Nó khá dễ sử dụng như các API Chrome khác và bạn có thể sử dụng nó từ bất kỳ bối cảnh trang nào trong Chrome.
// Save it using the Chrome extension storage API.
chrome.storage.sync.set({'foo': 'hello', 'bar': 'hi'}, function() {
console.log('Settings saved');
});
// Read it using the storage API
chrome.storage.sync.get(['foo', 'bar'], function(items) {
message('Settings retrieved', items);
});
Để sử dụng nó, hãy chắc chắn rằng bạn xác định nó trong tệp kê khai:
"permissions": [
"storage"
],
Có các phương pháp để "xóa", "xóa", "getBytesInUse" và trình lắng nghe sự kiện để lắng nghe lưu trữ đã thay đổi "onChanged"
Sử dụng localStorage riêng ( trả lời cũ từ năm 2011 )
Các kịch bản nội dung chạy trong ngữ cảnh của các trang web, không phải các trang mở rộng. Do đó, nếu bạn đang truy cập localStorage từ nội dung của mình, thì đó sẽ là bộ lưu trữ từ trang web đó, không phải là bộ lưu trữ trang mở rộng.
Bây giờ, để cho tập lệnh nội dung của bạn đọc bộ nhớ mở rộng của bạn (nơi bạn đặt chúng từ trang tùy chọn của mình), bạn cần sử dụng thông báo tiện ích mở rộng .
Điều đầu tiên bạn làm là yêu cầu tập lệnh nội dung của bạn gửi yêu cầu đến tiện ích mở rộng của bạn để tìm nạp một số dữ liệu và dữ liệu đó có thể là tiện ích mở rộng localStorage của bạn:
nội dung.js
chrome.runtime.sendMessage({method: "getStatus"}, function(response) {
console.log(response.status);
});
nền.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getStatus")
sendResponse({status: localStorage['status']});
else
sendResponse({}); // snub them.
});
Bạn có thể thực hiện một API xung quanh đó để nhận dữ liệu localStorage chung vào tập lệnh nội dung của bạn hoặc có thể lấy toàn bộ mảng localStorage.
Tôi hy vọng điều đó đã giúp giải quyết vấn đề của bạn.
Để được ưa thích và chung chung ...
nội dung.js
chrome.runtime.sendMessage({method: "getLocalStorage", key: "status"}, function(response) {
console.log(response.data);
});
nền.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getLocalStorage")
sendResponse({data: localStorage[request.key]});
else
sendResponse({}); // snub them.
});