开发者问题收集

Chrome 扩展程序内容脚本中的 storage.sync.set 引发异常

2016-12-17
16220

我遇到了一个奇怪的问题,浪费了太多时间。 我有一个内容脚本尝试从 storage.sync API 读取一些数据,但失败了。

我添加了存储权限 并且能够在 options.js 文件中使用 storage.sync API。

你能发现哪里出了问题吗?

document.addEventListener('DOMContentLoaded', function () {   

     chrome.storage.sync.get([
            'var1',
            'var2',        
        ], function(items) {        
            alert("got it");
     });
}

这是错误消息:

CONTENT_SCRIPT context for xxxxx) Lazy require of extension.binding did not set the binding field

(CONTENT_SCRIPT context for xxxxx) extensions::lastError:82: Uncaught TypeError: Cannot convert undefined or null to object{TypeError: Cannot convert undefined or null to object at Object.clear (extensions::lastError:82:23) at handleResponse (extensions::sendRequest:84:15) at restore at HTMLDocument.}

3个回答

我遇到了同样的错误,这是由于调试器在中间停止了执行流程而导致的。 一旦我删除“内容脚本”和“后台脚本”中的调试器/断点并重新加载所有内容,我就看不到错误了。

Sudheer
2017-01-31

我也遇到了同样的错误。我通过禁用并重新启用 Chrome 浏览器扩展程序解决了这个问题。希望这能有所帮助。

crgolden
2017-01-06

我在将代码注入 html 页面时遇到了同样的问题。在将新 id 注入页面 html 后立即使用它们似乎会导致调试器崩溃,但不会使页面本身崩溃。一切正常,错误消息仅在注入代码时弹出一次。 它看起来像是来自缓存。 它只在刷新页面时发生过一次,清除缓存后从未发生过……抱歉,这不是很有用,但这是我遇到的,无法再重现。

user7325014
2016-12-21