2012-04-05 21 views
0

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

、スクリーンショットをlocalStorage.setItemを使用して、タブのURIと同じキーに保存されていました。次のように
あなたは、キーを列挙することができます

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を使用することを検討してください。

関連する問題