我正在尝试跟踪我的Google Chrome扩展程序的标签缩略图,并希望能够将它们保存到我的本地存储空间。目前,我有以下几点:
chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) {
// other code here...
}
如何将拇指保存到本地存储?或者我不应该将拇指保存到本地存储,而是在下次浏览器加载时重新加载这些缩略图吗?
答案 0 :(得分:2)
chrome.tabs.captureVisibleTab
的回调会收到数据URI(data:image/png;base64,...
或data:image/jpg;base64,...
)。这是一个普通字符串,可以保存在localStorage
中,如下所示:
chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) {
// Example: Save by key URL
localStorage.setItem(tab.url, thumb);
}); // <-- Don't forget the closing parenthesis..
在此示例中,屏幕截图使用localStorage.setItem
保存在与标签的URI相同的键中。
您可以按如下方式枚举键:
for (var i=0; i<localStorage.length; i++) {
var keyname = localStorage[i]; // Or localStorage.key(0);
var thumb = localStorage.getItem(keyname);// <-- Retrieve the value
}
如果您不喜欢拇指,可以使用localStorage.removeItem
方法删除它:
var keyname = 'https://stackoverflow.com/'; // For example
localStorage.removeItem(keyname);
注意:localStorage
限制为5MB。请考虑使用异步chrome.storage
API来保存数据。