2012-04-05 2 views
0

Ich versuche, Tab-Thumbnails für meine Google Chrome-Erweiterung zu verfolgen, und würde gerne die Möglichkeit haben, sie in meinem lokalen Speicher zu speichern. Derzeit habe ich etwas in der Form von:Wie kann ich eine Tab-Miniaturansicht auf dem lokalen Speicher speichern?

Wie kann ich Daumen in lokalen Speicher speichern? Oder sollte ich den Daumen nicht im lokalen Speicher ablegen und stattdessen diese Miniaturbilder beim nächsten Laden des Browsers erneut laden?

Antwort

2

Der Rückruf von chrome.tabs.captureVisibleTab empfängt eine Daten-URI (data:image/png;base64,... oder data:image/jpg;base64,...). Dieses ist eine einfache Zeichenfolge, die in localStorage gespeichert werden können wie folgt:

chrome.tabs.captureVisibleTab(tab.windowId, function(thumb) { 
    // Example: Save by key URL 
    localStorage.setItem(tab.url, thumb); 
}); // <-- Don't forget the closing parenthesis.. 

In diesem Beispiel ist der Screenshot in der gleichen Tonart wie das Register der URI localStorage.setItem gespeichert wurde.
Sie können durch die Tasten aufzählen, wie folgt:

var keyname = 'https://stackoverflow.com/'; // For example 
localStorage.removeItem(keyname); 

Hinweis:

for (var i=0; i<localStorage.length; i++) { 
    var keyname = localStorage[i];   // Or localStorage.key(0); 
    var thumb = localStorage.getItem(keyname);// <-- Retrieve the value 
} 

Wenn Sie den Daumen nicht gefällt, kann es mit dem localStorage.removeItem Verfahren entfernt werden localStorage ist begrenzt bis 5 MB. Erwägen Sie, die asynchrone API chrome.storage für persistente Daten zu verwenden.