2012-04-05 141 views
0

我试图跟踪我的谷歌Chrome扩展的标签缩略图,并希望能够将它们保存到我的本地存储。目前,我有一些沿线:如何将标签缩略图保存到本地存储?

chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) { 
    // other code here... 
} 

如何将拇指保存到本地存储?或者我不应该将拇指保存到本地存储,而是在下次浏览器加载时重新加载这些缩略图?

回答

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.. 

在这个例子中,屏幕截图被保存在相同的密钥的标签的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来保存数据。