我正在尝试编写Google Chrome扩展程序,而我正在使用chrome.storage API。
我使用以下方式存储页面的网址:
chrome.storage.local.set({'url': document.URL});
但是这个功能被多次调用,因此在存储中有多个不同的URL具有相同的' url'键。
获取我使用的值:
chrome.storage.local.get('url', function (urlResult) {
url = urlResult.url;
document.getElementById("urlInfo").innerHTML = url;
});
但这只会返回存储在密钥中的最后一个值。 例如,如果我先访问https://stackoverflow.com/并且https://github.com/秒,我的代码将仅返回github地址。是否可以在为同一个键设置多个值的同时访问stackoverflow值?
谢谢!
答案 0 :(得分:2)
正如@SLaks所提到的,您可以将URL保存在数组中。
集:
chrome.storage.local.get({urls: []}, function (result) {
var urls = result.urls;
urls.push(document.URL);
chrome.storage.local.set({ urls: urls });
});
得到:
chrome.storage.local.get({urls: []}, function (result) {
var urls = result.urls;
var url1 = urls.find((url) => url === 'https://www.stackoverflow.com');
var url2 = urls.find((url) => url === 'https://www.github.com');
});