コンテンツ スクリプトは、バックグラウンド ページから localStorage の値を直接読み取ることはできません。localStorage キーと値のペアを読みたい場合は、これを達成するための説明とコードを提供するこの回答を参照してください: Accessing global object from content script in chrome extension
前の方法でも機能しますが、代わりに API をお勧めしchrome.storage
ます。これはすべての拡張ページで使用できます。との大きな違いは、非同期APIlocalStorage
でchrome.storage
あることです。chrome.storage
違いを説明する例を次に示します。
// synchronous localStorage
localStorage.setItem('keyname', 'value');
alert(localStorage.getItem('keyname'));
// asynchronous chrome.storage
chrome.storage.local.set({keyname: 'value'}, function() {
chrome.storage.local.get('keyname', function(items) {
alert(items.keyname);
});
});
一見すると、chrome.storage
API はより複雑に見えます。ただし、拡張機能内にデータを保存する場合は、これが最善の方法です。このlocalStorage
アプローチでは、同じ機能を実現するために、より多くのコードが必要です (この回答の上にリンクした回答を参照してください)。また、非同期でもあります。