Google chrome extension 尝试访问扩展中的本地存储时发生意外错误

Google chrome extension 尝试访问扩展中的本地存储时发生意外错误,google-chrome-extension,firefox-addon-webextensions,google-chrome-storage,Google Chrome Extension,Firefox Addon Webextensions,Google Chrome Storage,我正在更新几个月前编写的扩展,当我完成时,我意识到loader.js(每次访问特定页面时加载的文件)中的本地存储返回: 这是我尝试从本地存储器加载信息的部分: chrome.storage.local.get('setting-one', result => { if (chrome.runtime.lastError) { throw new Error(chrome.runtime.lastError); // error is thrown ... 这在过去没有问题

我正在更新几个月前编写的扩展,当我完成时,我意识到
loader.js
(每次访问特定页面时加载的文件)中的本地存储返回:

这是我尝试从本地存储器加载信息的部分:

chrome.storage.local.get('setting-one', result => {
  if (chrome.runtime.lastError) {
    throw new Error(chrome.runtime.lastError); // error is thrown
  ...
这在过去没有问题,但现在没有了。Firefox就是这样。在Chrome上,扩展也不起作用,并且不会从
loader.js
返回任何错误。我不确定API是否已经更改,或者在访问本地存储方面是否引入了一些新的更改。我在网上寻找解决方案,但没有关于这个问题的任何内容


在扩展页面上,我可以毫无问题地设置并从存储中获取所有信息。

看起来您的问题已经解决,但Firefox中有一个bug我遇到过几次。这可能是发生在你身上的事,尽管我今天无法为你的案子重现。今天,我在一个非常类似的情况下释放了一些时间,并显示了相同的错误消息

错误:
错误:在成功调用方法后,Firefox上有时会出现意外错误,
如果您还定义了捕获方法,并且当您打开并打开DevTools时,
暂停异常
暂停捕获异常

今天,在我使用的一种方法的末尾,我有了这个:

return browser.storage.local.set(storedObject)
    .then(() => console.log('Util_WebExt.saveToStorage(): '+valueName+' stored.'))
    .catch(e => console.error('Util_WebExt.saveToStorage(): '+valueName+' | error: '+e));
我确实像您的情况一样在get()上尝试了它,但没有显示错误。 此外,它不显示在storage.sync上,仅显示在storage.local上


在其他情况下,我用不同的案例,不同的方法有相同的行为。不记得了,但是有一篇关于stackoverflow的帖子声称这是一个特性,而不是一个bug。我不知道怎么办。这可能被误解了。

API没有改变,所以它要么是浏览器中的一个bug,要么是您在代码中做了一些更改-如果您使用git,请检查以前的版本,看看它们是否有效。这是我所能猜到的,没有一个真正的答案。另一方面,看到错误文本中的打字错误(发生时应该有rr)是很奇怪的。@wOxxOm我的错,我现在修复了它。嗯,我做的唯一一件事就是将代码库从TypeScript转换为ES6,现在使用Babel和Webpack,但我保留了大部分代码。我不确定如何发布MCVE,因为代码的其他部分显然没有问题(或者我忽略了一些隐含的情况)。
return browser.storage.local.set(storedObject)
    .then(() => console.log('Util_WebExt.saveToStorage(): '+valueName+' stored.'))
    .catch(e => console.error('Util_WebExt.saveToStorage(): '+valueName+' | error: '+e));