首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Chrome.storage.onchnage不支持Chrome扩展

chrome.storage.onChanged 事件是 Chrome 扩展 API 的一部分,用于监听存储区域(如 chrome.storage.syncchrome.storage.local)中的数据变化。如果你发现 chrome.storage.onChanged 不支持 Chrome 扩展,可能是以下几个原因:

1. 权限声明问题

确保你在扩展的 manifest.json 文件中正确声明了对 storage 权限的需求。

代码语言:javascript
复制
{
  "name": "Your Extension",
  ...
  "permissions": [
    "storage"
  ],
  ...
}

2. 调用时机问题

chrome.storage.onChanged 需要在扩展的背景脚本(background script)或其他持久性脚本中设置监听器。如果你在非持久性上下文中(如弹出窗口脚本或选项页面脚本)设置监听器,可能会遇到问题。

代码语言:javascript
复制
chrome.storage.onChanged.addListener(function(changes, namespace) {
  for (let [key, {oldValue, newValue}] of Object.entries(changes)) {
    console.log(`Storage key "${key}" in namespace "${namespace}" changed.`
                + `Old value was "${oldValue}", new value is "${newValue}".`);
  }
});

3. 扩展未正确加载

确保你的扩展已经正确加载并且处于激活状态。你可以在 Chrome 的扩展管理页面(chrome://extensions/)检查扩展的状态。

4. 浏览器兼容性问题

虽然 chrome.storage.onChanged 是 Chrome 扩展 API 的标准部分,但理论上可能存在浏览器兼容性问题。确保你正在使用的 Chrome 版本支持该 API。

5. 代码错误

检查你的代码是否有语法错误或其他逻辑错误,这可能导致监听器无法正常工作。

示例代码

以下是一个完整的示例,展示了如何在背景脚本中设置 chrome.storage.onChanged 监听器:

background.js

代码语言:javascript
复制
chrome.storage.onChanged.addListener(function(changes, namespace) {
  for (let [key, {oldValue, newValue}] of Object.entries(changes)) {
    console.log(`Storage key "${key}" in namespace "${namespace}" changed.`
                + `Old value was "${oldValue}", new value is "${newValue}".`);
  }
});

manifest.json

代码语言:javascript
复制
{
  "manifest_version": 3,
  "name": "Storage Change Listener",
  "version": "1.0",
  "background": {
    "service_worker": "background.js"
  },
  "permissions": [
    "storage"
  ]
}

调试建议

  • 使用 Chrome 的开发者工具检查背景脚本的控制台输出,查看是否有任何错误信息。
  • 确保在设置监听器之前,存储区域中确实有数据变化发生。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 认识Chrome扩展插件

    学习Chrome扩展插件势在必行‍♂️‍ Chrome extensions 文档 插件的架构可以参考这里 Chrome扩展程序应用商店入口 管理使用chrome扩展。...如下图: 上图中左边地址栏内部的按钮是page action(Chrome插件,直接内置在Chrome里的),右边地址栏外部的是 browser action(Chrome 扩展插件) 5、扩展插件使用...下图是 FeHelper 扩展插件的弹出窗 7、Background Pages后台页面 8、Chrome扩展插件运行的核心机制 Chrome扩展插件中比较核心的几个概念:Extension Page...最后 本文介绍的是 chrome 扩展基础知识,相信看完以上之后,你会对 Chrome 扩展插件有了一个比较清晰的认识。...相信chrome扩展会大有作为,会不会迫不急待的要体验一下呢,我根据Chrome插件开发官网示例写的一个小扩展插件,点击这里查看项目。

    1.2K10

    编写Chrome扩展程序

    Chrome的扩展程序很多,也很容易入门,可以来简单实现一下 看看 官方文档 或者翻译的文档:百度、360,慢慢就能实现出一个扩展程序来 每个扩展程序应用一般会包含: 一个manifest清单文件 html...一、了解Chrome扩展程序 Chrome扩展程序商店地址为:https://chrome.google.com/webstore/category/extensions?...hl=zh-CN 访问Chrome浏览器中已安装的扩展:chrome://extensions/ ?....pem是密钥文件 二、创建Chrome扩展程序 由上述知晓了扩展程序的大致信息,要创建一个扩展程序,也不外乎是创建一个项目,依据一定的规则编写逻辑后再打包安装 接下来就把之前写的简易计算器弄成一个扩展程序...可以看到计算器已经在扩展程序之中 再看看博客文章下的广告,已经被清除了 ? ? 三、发布Chrome扩展程序 自己的Chrome扩展程序写好之后,可以发布到商城之中 这篇文章 讲得挺好,就不多说了

    89910

    Chrome扩展开发入门

    而提到 Chrome 就绕不开它的扩展,或者叫插件(Chrome Extension)。 可以从 应用商店下载安装。应用商店除了有 Chrome 扩展程序,也有丰富的 Chrome主题背景。...一、Chrome 扩展应用程序构成(manifest v3版本) Chrome 扩展开发所用到的技术栈就是html/js/css。可以说就是纯“前端开发”,其界面是用 html+css 画的。...所以说,Chrome 扩展开发并不是什么新鲜玩意儿,只是一个挂载到 Chrome 浏览器上的一个“扩展”模块,比起微信小程序开发还简单。 这不就是网页应用吗?...交互界面与组成模块 一个扩展的组成模块如下图所示,整个 Chrome 扩展主要包含六个模块:扩展图标、插件弹窗、选项页、单独页、注入页面脚本、后台脚本。...二、API 文档 前面说了,扩展应用其实就是特殊的 h5 前端应用,相比于传统的 h5 的功能, 扩展最大的优势就在于他可以直接调用 chrome 原生Api。

    4.1K30

    Chrome扩展程开发初探

    偶然间被ChatGPT提醒,觉得Chrome拓展开发是一个非常不错的方向。 Chrome拓展是扩展浏览器功能的小程序,用户可以通过Chrome Web Store下载和安装。...manifest.json 文件是 Chrome 扩展的配置文件,定义了扩展的基本信息、权限和功能。...常用功能 popup 页面 在 Chrome 扩展中,popup 页面是指当用户点击扩展图标时弹出的界面。这个界面通常用于提供用户交互或展示信息。...Chrome 扩展的安全性设计确实不允许在 HTML 页面中直接使用 JavaScript 代码来加载或执行扩展的功能。Chrome 扩展通过内容安全性策略来限制可以在页面上执行的脚本。...开发者可以通过 Chrome 扩展来添加自定义的右键菜单选项,以提供更多的功能和交互性。

    11010

    那些实用的 Chrome 扩展神器

    作者:苏生不惑 来源:苏生不惑 之前已经写过不少Chrome扩展那些我常用的 Chrome 扩展,这里继续推荐那些实用Chrome扩展 ,所谓实用就是能解决实际问题。...下载Chrome扩展需要先上谷歌,公众号回复 谷歌 获取使用方法,当然你也可以使用 https://chrome-extension-downloader.com/ 这个网站来下载crx文件,然后手动安装...手动安装扩展 关于手动安装Chrome扩展还有小伙伴不大会用 ?...简单来说就是打开谷歌的扩展管理页面 chrome://extensions/ ,然后将下载crx文件拖进去,如果提示该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的或者程序包无效...自己摸索几下就会了,上谷歌后安装扩展就不用这么折腾了。 ? 下面是推荐的5个Chrome扩展。

    1.2K20

    chrome扩展应用开发快速科普

    本文的目标群体:已经了解或使用过chrome扩展应用,但是自己不知道如何开发一个chrome扩展应用的工程师。如果有具体的chrome扩展应用开发经验的同学,本篇文章可能太过简单,并不适合你。...本文的主要内容如下: chrome扩展应用模块功能介绍 chrome扩展应用模块开发介绍 本文的内容不包括chrome扩展应用开发时提供的各个API功能详解,有需求的同学可以自行查看官方API文档。...chrome扩展应用模块功能介绍 chrome扩展应用由很多部分组成,其中主要模块为: Manifest File Background Pages Content Script Options 为了避免由于翻译原因导致的问题...总结 我们通过一个简单的表情插件的例子来快速的介绍了chrome扩展应用的各个模块的功能和开发方法。通过这篇文章大家应该知道了chrome扩展应用各个模块的作用和开发的方法。...如果大家想对chrome扩展应用有一个更加深入的了解,那么建议自己动手开发相关的功能。这样才能够对chrome扩展应用的相关逻辑有一个更加清楚的认识。

    98010

    从零实现的Chrome扩展

    从零实现的Chrome扩展 Chrome扩展是一种可以在Chrome浏览器中添加新功能和修改浏览器行为的软件程序,例如我们常用的TamperMonkey、Proxy SwitchyOmega、AdGuard...而Chrome浏览器则在2010年支持了扩展系统,同样其也允许开发人员为Chrome编写自定义功能和修改浏览器行为的软件程序。...虽然FireFox是第一个引入浏览器扩展的浏览器,但是Chrome的扩展系统得到了广泛的认可和使用,也已经成为了现代浏览器中最流行的扩展系统之一。...那么本文就以Chrome扩展为例,聊聊如何从零实现一个Chrome扩展,本文涉及的相关的代码都在https://github.com/WindrunnerMax/webpack-simple-environment...此外注册Chrome扩展的开发者价格是5$,注册之后才能在谷歌商店发布扩展。那么首先,我们先在popup中绘制一个界面,用来展示当前的扩展状态,以及提供一些操作按钮。

    55320

    那些实用的 Chrome 扩展神器

    之前已经写过不少Chrome扩展那些我常用的 Chrome 扩展,这里继续推荐那些实用Chrome扩展 ,所谓实用就是能解决实际问题。...下载Chrome扩展需要先上谷歌,公众号回复 谷歌 获取使用方法,当然你也可以使用 https://chrome-extension-downloader.com/ 这个网站来下载crx文件,然后手动安装...手动安装扩展 关于手动安装Chrome扩展还有小伙伴不大会用 ?...简单来说就是打开谷歌的扩展管理页面 chrome://extensions/ ,然后将下载crx文件拖进去,如果提示该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的或者程序包无效...自己摸索几下就会了,上谷歌后安装扩展就不用这么折腾了。 ? 下面是推荐的5个Chrome扩展。

    91920

    我的首个Chrome扩展发布了

    忙活了有一段时间,零零散散的写了一个Chrome扩展。这里发发一篇文章安利一下。 怎样的一个扩展呢 它是一个Gmail 过滤器辅助工具,使用这个扩展可以轻松的创建邮件过滤器。 有图有真相 ?...如何下载 Chrome Store 大中华局域网用户下载地址 为什么写这个扩展 还是那个原因,自己遇到了不爽与痛点。 我是一个重度的Gmail用户,工作的邮箱使用Gmail托管。...开源么 当然开源,原因如下 个人能力和精力毕竟有限 希望通过社区的力量推动这个扩展持续发展 所以,如果你有想法的话,可以访问这个Github地址 https://github.com/androidyue.../Gmail-Helper-Filter 贡献力量 除了开源贡献代码外,如果你有想法,也可以共享力量,比如 提需求 提bug 分享本文或扩展 捐赠(下面那个红色按钮) 感谢 再次感谢我的御用设计师 大麦

    56430

    上不了谷歌如何安装 Chrome 扩展?

    扩展对应的crx文件,比如输入https://chrome.google.com/webstore/detail/evernote-web-clipper/pioclpoplcdbaefihamjohnefbikjilc...手动安装扩展 打开Chrome扩展程序 chrome://extensions/ ? 开启开发者模式 ?...谷歌商店安装 在国内谷歌商店默认是打不开的,所以这里分享一个谷歌访问助手(公众号内回复 谷歌 获取),安装这个扩展后就能上谷歌商店直接安装Chrome扩展了。...分享的谷歌助手扩展同样使用上面的方法来安装,如果提示该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的或者程序包无效。...先把文件后缀名.crx 改成 .rar或者.zip,然后解压到一个文件夹,再打开扩展程序chrome://extensions/ ,点击加载已解压的扩展程序。 ?

    1.5K20

    在Edge中安装Chrome扩展程序

    /www.microsoftedgeinsider.com/en-us/download/ ,下载Edge的CAN版本 (Logo为金色配色), 并完成安装 打开允许Edge从其它商店安装扩展程序的按钮...从Chrome商店安装扩展程序 打开https://zhaoolee.gitbooks.io/chrome/content/ 寻找自己喜欢的扩展程序, 在文章底部获取地址并安装, markdown...-5f0f22.html 小结 Edge可以安装绝大多数Chrome商店中的扩展, 但Chrome中的谷歌开发App程序, 类似Secure Shell App, 目前是无法安装的, 新版...Edge使用了Chrome的Chromium内核, 可以兼容安装Chrome生态中的各种应用程序,为Edge未来的发展带来了无限可能~ 谷粒-Chrome插件英雄榜 本文属于谷粒...-Chrome插件英雄榜文集的一部分, 为了集合更多的程序员和工具爱好者, 将谷粒-Chrome插件英雄榜维护下去, 我已将谷粒-Chrome插件英雄榜 文集的所有内容托管到Github, 项目地址https

    3.1K40
    领券