如何将标签缩略图保存到本地存储?
问题描述:
我试图跟踪我的谷歌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
。
您可以通过按键列举如下:
var keyname = 'https://stackoverflow.com/'; // For example
localStorage.removeItem(keyname);
注意:localStorage
有限
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
方法来去除到5MB。考虑使用异步chrome.storage
API来保存数据。