有没有办法在网页中使用“ chrome”命名空间?

时间:2019-07-15 16:55:00

标签: javascript google-chrome firefox google-chrome-extension

我正在使用同时在firefox和chrome中运行的WebExtension(此外,当我访问构建所留下的html时,我需要扩展才能作为网页使用)。在这种情况下,我想使用chrome.storage.local存储。但是,当我尝试在Chrome的网页中使用它时,storage未定义,我得到:

  

未捕获(承诺)TypeError:无法读取未定义的属性“ local”

作为一种解决方法,如果window.localStorage与'chrome-extension:'或'moz-extension:'不同,我正在考虑使用location.protocol,但我想知道是否存在是使chrome.storage在网页上工作的一种方法。

1 个答案:

答案 0 :(得分:2)

某些chrome API(例如chrome.runtime.sendMessage)可用于常规页面,但chrome.storage不是其中之一。它仅适用于在其storage中请求manifest.json权限的扩展。 ChromeMozilla Firefox的文档都对此进行了说明。