Chrome 扩展程序内容脚本中的 storage.sync.set 引发异常
我遇到了一个奇怪的问题,浪费了太多时间。 我有一个内容脚本尝试从 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.}
我遇到了同样的错误,这是由于调试器在中间停止了执行流程而导致的。 一旦我删除“内容脚本”和“后台脚本”中的调试器/断点并重新加载所有内容,我就看不到错误了。
我也遇到了同样的错误。我通过禁用并重新启用 Chrome 浏览器扩展程序解决了这个问题。希望这能有所帮助。
我在将代码注入 html 页面时遇到了同样的问题。在将新 id 注入页面 html 后立即使用它们似乎会导致调试器崩溃,但不会使页面本身崩溃。一切正常,错误消息仅在注入代码时弹出一次。 它看起来像是来自缓存。 它只在刷新页面时发生过一次,清除缓存后从未发生过……抱歉,这不是很有用,但这是我遇到的,无法再重现。