我在选择页面设置一些值。 这是现在的工作好了。 但我无法访问在background.html或内容脚本设置好的数据。 我看过这样的事情是可能的,但消息对我来说是文档硬一点点的了解。 如果有人可以点我出了正确的方向,将是一件好事。 例如故事>我设置的选项页这个值localStorage.setItem("somedata" , "true");
然后,如果我将访问页面上的相同数据,其中扩展,可运行我得到这样的:
localStorage.getItem("somedata");
和值是null
。
内容脚本不能直接从后台页面读取localStorage的值。 如果你想读localStorage的键值对,看到这个答案,提供了实现这一解释加代码: 从内容脚本访问全局对象在浏览器扩展程序
虽然以前的方法有效,我建议chrome.storage
而是API:这可以通过所有的扩展页面中使用。 之间的巨大差异localStorage
和chrome.storage
是chrome.storage
是一个异步 API。
下面就来说明dfferences一个例子:
// 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
方法需要更多的代码(请参阅我在这个答案的顶部相连的答案)来实现相同的功能。 而且,它也是异步的。
文章来源: How could i achieve to access the data which where set on options page in the content script eg. in the google chrome extension