อัปเดตปี 2016:
Google Chrome เปิดตัว API การจัดเก็บข้อมูล: http://developer.chrome.com/extensions/storage.html
มันใช้งานง่ายเหมือน Chrome API อื่น ๆ และคุณสามารถใช้งานได้จากบริบทของหน้าภายใน 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);
});
หากต้องการใช้ให้แน่ใจว่าคุณกำหนดไว้ในรายการ:
"permissions": [
"storage"
],
มีวิธีการ "ลบ", "ชัดเจน", "getBytesInUse" และผู้ฟังเหตุการณ์เพื่อฟังการจัดเก็บที่เปลี่ยนแปลง "onChanged"
ใช้ native localStorage ( คำตอบเก่าจาก 2011 )
สคริปต์เนื้อหาทำงานในบริบทของหน้าเว็บไม่ใช่หน้าส่วนขยาย ดังนั้นหากคุณเข้าถึง localStorage จาก contentcript ของคุณจะเป็นที่เก็บข้อมูลจากหน้าเว็บนั้นไม่ใช่ที่เก็บข้อมูลส่วนขยาย
ตอนนี้จะให้สคริปต์เนื้อหาของคุณเพื่ออ่านการจัดเก็บส่วนขยายของคุณ (ที่คุณตั้งพวกเขาจากหน้าตัวเลือกของคุณ) คุณจำเป็นต้องใช้ส่วนขยายข้อความผ่าน
สิ่งแรกที่คุณทำคือบอกสคริปต์เนื้อหาของคุณให้ส่งคำขอไปยังส่วนขยายของคุณเพื่อดึงข้อมูลบางอย่างและข้อมูลนั้นสามารถเป็นส่วนขยายของคุณ localStorage:
contentscript.js
chrome.runtime.sendMessage({method: "getStatus"}, function(response) {
console.log(response.status);
});
background.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getStatus")
sendResponse({status: localStorage['status']});
else
sendResponse({}); // snub them.
});
คุณสามารถทำ API เพื่อรับข้อมูล localStorage ทั่วไปไปยังสคริปต์เนื้อหาของคุณหรืออาจรับทั้งอาร์เรย์ localStorage
ฉันหวังว่าจะช่วยแก้ปัญหาของคุณ
เป็นแฟนซีและทั่วไป ...
contentscript.js
chrome.runtime.sendMessage({method: "getLocalStorage", key: "status"}, function(response) {
console.log(response.data);
});
background.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getLocalStorage")
sendResponse({data: localStorage[request.key]});
else
sendResponse({}); // snub them.
});