【发布时间】:2020-04-29 17:11:57
【问题描述】:
如果我尝试从弹出窗口获取 chrome.storage.sync,我需要打开它两次以进行更新。
https://developer.chrome.com/extensions/storage 这是我用来做的“教程”。
我在内容脚本中设置了一些 chrome.storage.sync 数据,如下所示:
chrome.storage.sync.set({key: value}, function() {
console.log('Value is set to ' + value);
});
在此之后,我在 init 上使用以下代码打开弹出窗口:
chrome.storage.sync.get(['key'], function(result) {
console.log('Value currently is ' + result.key);
});
这可行,但我需要打开我的弹出窗口两次才能看到数据更新。
Popup 是 vue 应用程序,我需要将 chrome.storage 数据分配给 vuex 状态,但我真的不知道该怎么做。我为此花了很多天,最后我没有正确的方法来解决这个问题。
【问题讨论】:
-
也许听起来像但不是。我不使用 ajax 或任何 http 请求。我只需要在内容脚本和带有 vuex 状态的弹出窗口之间使用 chrome.storage 并分配了 chrome 存储数据。但我会阅读这个主题,我相信我会在那里找到解决方案:P
-
这是关于异步代码,而不是关于 AJAX 本身。还有其他相同的线程,例如 Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference 和 Returning Chrome storage API value without function
-
谢谢。了解此链接后,我将在 cmets 结果中给出这里
标签: vue.js google-chrome-extension vuex content-script google-chrome-storage