0

私は、ユーザーがポップアップメニューにあるテキスト入力から何らかのデータ(ウェブサイトのURL)を入力する拡張をしようとしています。私は、このデータを拡張機能の存続期間中ずっと永続的に保存し、ユーザーがブラウザを閉じるときには消去しないことを望みます。ユーザーがポップアップメニューに入力したデータを、ユーザーがメニューを開くたびに表示するようにします。アドバイスありがとうございます!クロムエクステンションの永久保存

+0

つまり、chrome.storageを使用すると、データを取得するときに発生するように見えるのは、そのオブジェクトに "newValue"と "oldValue"というオブジェクトがあるということです。 oldValueは以前のセッションのデータを持っているようですが、新しいデータを入力するとすぐに、 "oldValueはあなたが以前入力した値に置き換えられます。今戻す方法があるようですが、私は分かりません –

+0

@Makyen、ありがとうございました! –

+0

['chrome.storage.onChanged'](https://developer.chrome.com/extensions/storage#event-onChanged)からのみ' newValue'と 'oldValue'プロパティを取得する必要があります。 – Makyen

答えて

0

コードは非常にシンプルです。

chrome.storage.sync.set(
    { 
     varNameOne : var1, 
     varNameTwo : var2 
    }, 
    function() { 
     // callback code 
    } 
); 

とバックデータを取得するために:

それを保存するには

chrome.storage.sync.get(
    { 
     varNameOne : "", // if there isn't any data, 
     varNameTwo : ""  // what you set here will be returned 
    }, 
    function (items) { 
     varNameOne = items.varNameOne; 
     varNameTwo = items.varNameTwo; 
     // callback code 
    } 
); 

をしかし、それは非同期であることを覚えているので、クロムのAPIコールは、コールの前に起こるのだろう後に任意のコードは次のように記述取得される

+0

これはあなたの例で 'storage.local'を使った方が良いでしょう.2つの違いを説明し、バックグラウンドページで' localStorage'の使い方について話し合う方が良いでしょう。 – Makyen

関連する問題