次のコードを使用して、値を読み込んで chrome.storage に保存します。
$(document).ready(function()
{
$( "#filterPlus" ).click(function()
{
SaveSwitch("plus1","#filterPlus","plus1");
});
}
function SaveSwitch(propertyName, imageId, imageSrc)
{
chrome.storage.sync.get(propertyName, function (result) {
var oldValue = result.propertyName;
alert('GET:old='+oldValue);
if (oldValue==null)
{
oldValue=false;
}
var newValue=!oldValue;
chrome.storage.sync.set({propertyName: newValue}, function()
{
alert('SET:'+newValue);
});
});
}
このメソッドを実行すると、最初のアラートは次のように表示されGET:old=undefined
ます: 、2 番目のアラートは次SET:true
のように表示されます: 期待どおりです。しかし、同じパラメーターを使用してそのメソッドを再度呼び出すと、最初のアラート AGAIN が、期待したものではGET:old=undefined
なく表示GET:old=true
されます。
storage.sync の代わりに storage.local を使用した場合と同じ動作です。
「ストレージ」はマニフェストのアクセス許可にあります。JS は、私の拡張機能のオプション ページから呼び出されます。