gpt4 book ai didi

google-chrome-extension - Chrome 扩展存储 onChanged() 未检测到更改(未触发)

转载 作者:行者123 更新时间:2023-12-05 07:22:24 25 4
gpt4 key购买 nike

我以前在这里看到过这个问题,但从来没有真正正确的答案。所以我在 background.js 上注册了一个监听器来监听 chrome.storage.onChanged。但是,据我所知,尽管存储发生了变化,但它并没有触发事件。当用户单击按钮时,更改发生在 popup.js 文件中。

我已经设置了一个轮询按钮以从存储中获取最新数据,更新显示在那里,但是从未调用来自方法监听的 console.log 调用。

正在更新存储中的相同项目,即没有添加或删除新项目。但是,我已经测试过添加不同的项目,但它仍然没有触发。

内部 background.js

chrome.storage.onChanged.addListener(function() {
console.log("hehe");
});

popup.js 里面

chrome.storage.sync.set({"databases": dbList}, function () {
console.log("Successfully added: " + domain);
document.getElementById("add-remove").innerText = remove;
setForRemove(dbList, domain)
});

提前致谢

最佳答案

您使用的是哪个 list ?我已经非常努力地让存储监听器工作:

chrome.storage.onChanged.addListener(() => {
console.log("tick");
});

使用 Manifest v3,但它没有工作,甚至在 service worker 变得不活跃之前也是如此。

切换到 Manifest v2 后,一切顺利。我并不反对使用 Manifest v3,你应该尝试让它按照现在推荐的方式工作,但如果它不管用,就像我的情况一样,我看不到除了使用旧的之外的任何其他方法 list 。

关于google-chrome-extension - Chrome 扩展存储 onChanged() 未检测到更改(未触发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56523855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com