内容脚本无法直接从后台页面读取 localStorage 值。如果您想阅读 localStorage 键值对,请参阅此答案,其中提供了解释和实现此目的的代码:Accessing global object from content script in chrome extension
虽然前面的方法有效,但我推荐使用chrome.storage
API:所有扩展页面都可以使用它。localStorage
和之间的一个巨大区别在于chrome.storage
它chrome.storage
是一个异步API。
这是一个说明差异的示例:
// synchronous localStorage
localStorage.setItem('keyname', 'value');
alert(localStorage.getItem('keyname'));
// asynchronous chrome.storage
chrome.storage.local.set({keyname: 'value'}, function() {
chrome.storage.local.get('keyname', function(items) {
alert(items.keyname);
});
});
乍一看,chrome.storage
API 看起来更加复杂。但是,如果您想在扩展中保存数据,这是最好的方法。该localStorage
方法需要更多代码(请参阅我在此答案之上链接的答案)来实现相同的功能。而且,它也是异步的。