我正在尝试跟踪我的 google chrome 扩展的标签缩略图,并且希望能够将它们保存到我的本地存储中。目前,我有一些类似的东西:
chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) {
// other code here...
}
如何将拇指保存到本地存储?或者我不应该将拇指保存到本地存储,而是在下次浏览器加载时重新加载这些缩略图?
我正在尝试跟踪我的 google chrome 扩展的标签缩略图,并且希望能够将它们保存到我的本地存储中。目前,我有一些类似的东西:
chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) {
// other code here...
}
如何将拇指保存到本地存储?或者我不应该将拇指保存到本地存储,而是在下次浏览器加载时重新加载这些缩略图?
的回调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..
在此示例中,屏幕截图保存在与选项卡的 URI 相同的键中,使用localStorage.setItem
.
您可以按如下方式枚举键:
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 来持久化数据。