mozilla
Your Search Results

    設定

    jetpack.storage.settings 名前空間を使用すると、ユーザが変更可能な設定を指定することが出来ます。Jetpack は指定に基づいて自動的にユーザーインタフェイスを生成します。設定はブラウザのセッションを跨いで維持され、simple storage API を利用して保存されます。設定は jetpack ごとに保持され、他の jetpack からアクセスすることは出来ません。

    現在のところ開発段階にあるため、このAPIは future に存在し、使用する前にインポートする必要があります:

    jetpack.future.import("storage.settings");
    

    マニュフェストで設定を指定する

    設定を指定するには、settings APIをインポートするより前にmanifest という名前の変数をグローバル名前空間に定義します。この変数の値は settings という名前のプロパティを含む object でなければなりません。settings プロパティの値はユーザが利用する設定を表すオブジェクトの配列です。ユーザーが設定をカスタマイズできるように、Jetpackはこの指定から自動的にユーザーインターフェースを生成します。ユーザは about:jetpack ページの "Installed Features" タブ内にある "settings" ボタンからこのインターフェースを開くことができます。

    manifest 定義の例です:

    var manifest = {
      settings: [
        {
          name: "twitter",
          type: "group",
          label: "Twitter",
          settings: [
            { name: "username", type: "text", label: "Username" },
            { name: "password", type: "password", label: "Password" }
          ]
        },
        {
          name: "facebook",
          type: "group",
          label: "Facebook",
          settings: [
            { name: "username", type: "text", label: "Username", default: "jdoe" },
            { name: "password", type: "password", label: "Secret" }
          ]
        },
        { name: "music", type: "boolean", label: "Music", default: true },
        { name: "volume", type: "range", label: "Volume", min: 0, max: 10, default: 5 }
      ]
    };
    
    // Import after defining manifest!
    jetpack.future.import("storage.settings");
    

    この定義により各設定が入力フィールドをもつユーザーインターフェースが生成されます。

    上記のマニフェストにより、以下の値が記録されたプロパティがjetpackのコード内で利用可能になります:

    • jetpack.storage.settings.twitter.username
    • jetpack.storage.settings.twitter.password
    • jetpack.storage.settings.facebook.username
    • jetpack.storage.settings.facebook.password
    • jetpack.storage.settings.music
    • jetpack.storage.settings.volume

    See also

    ドキュメントのタグと貢献者

    Contributors to this page: teoli, yiwasaki
    最終更新者: teoli,