3

Erik Vold によるツールバー ボタンを使用して Firefox アドオンを作成しています。コンテンツ スクリプトでシンプル ストレージ API にアクセスする方法を知りたいです。API に直接アクセスできないことは承知しています。

var data = require('self').data;
var tabs = require('tabs');
var pageMod = require('page-mod');
var ss = require('sdk/simple-storage');

    var tbb = require('toolbarbutton').ToolbarButton({
      id: 'button',
      label: 'us-button',
      image: data.url('img/on.png'),
      onCommand: function () {

        tabs.activeTab.attach ({

            contentScriptFile: [
                data.url('jquery/jquery.min.js'),
                data.url('jquery/jquery-ui.js'),
                data.url('recuperation.js'),
                data.url('dialog.js')
          ],
          contentScriptOptions: {
          imgfr: data.url('img/fr.png'),
          imgen: data.url('img/en.png'),
          imglogo: data.url('img/logo.png')
        }
       });
      }
    });

私の質問は、私のコンテンツスクリプトdialog.jsでシンプルストレージAPIにアクセスする方法です

4

1 に答える 1

1

tabs.activeTab.attach (...)workerコンテンツ スクリプトとアドオンの間でメッセージを送信するために使用できる を返します。これにより、単純ストレージに保存するデータについて、コンテンツ スクリプトからアドオンにメッセージを送信できます。

したがって、アドオン側は次のようになります。

let worker = tabs.activeTab.attach(...);
worker.port.on('simple-storage', function(newData) {
  ss.storage = newData;
});

コンテンツ スクリプト側は次のようになります。

self.port.emit('simple-storage', newData)

newData保存しなければならないとき。

于 2013-06-13T18:14:17.227 に答える