0

我正在尝试跟踪我的 google chrome 扩展的标签缩略图,并且希望能够将它们保存到我的本地存储中。目前,我有一些类似的东西:

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

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

4

1 回答 1

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.
您可以按如下方式枚举键:

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.storageAPI 来持久化数据。

于 2012-04-06T08:20:52.380 回答