すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:右上隅のボタンの設定

最終更新日:Jan 27, 2026

この API は、タイトルバーの右上隅にあるボタンのプロパティを設定します。ボタンを表示するには、showOptionMenu も呼び出す必要があります。

説明

Apple の App Transport Security (ATS) の制限により、アイコンの URL は HTTPS リンクまたは Base64 文字列である必要があります。HTTP リンクは無視されます。

setOptionMenu API の使用

AlipayJSBridge.call('setOptionMenu', {
  title : 'Button',  // title、icon、icontype のいずれかを選択します
  redDot : '-1', // -1: 非表示。0: 赤い点を表示。1-99: 赤い点に数字を表示。
  color : '#ff00ff00', // # で始まる ARGB カラー値である必要があります。
});

コード例

右上隅にさまざまな種類のボタンを設定します:

<h1>下のボタンをクリックして、さまざまな効果を確認します</h1>

<a href="javascript:void(0)" class="btn button">単一ボタン</a>
<a href="javascript:void(0)" class="btn icon">単一アイコン</a>
<a href="javascript:void(0)" class="btn menu">複数メニュー (9.9.3)</a>
<a href="javascript:void(0)" class="btn reset">リセット</a>
<a href="javascript:void(0)" class="btn hide">非表示</a>
<a href="javascript:void(0)" class="btn show">表示</a>

<script>
function ready(callback) {
  // jsbridge がすでにインジェクトされている場合は、直接呼び出します。
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // インジェクトされていない場合は、インジェクションイベントをリッスンします。
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function(e) {
  document.querySelector('.button').addEventListener('click', function() {
    AlipayJSBridge.call('setOptionMenu', {
      title : 'Button',
      redDot : '5', // -1: 非表示。0: 赤い点を表示。1-99: 赤い点に数字を表示。
      color : '#ff00ff00', // # で始まる ARGB カラー値である必要があります。
    });
    AlipayJSBridge.call('showOptionMenu');
  });

  document.querySelector('.icon').addEventListener('click', function() {
    AlipayJSBridge.call('setOptionMenu', {
      icon : 'http://pic.alipayobjects.com/e/201212/1ntOVeWwtg.png',
      redDot : '-1', // -1: 非表示。0: 赤い点を表示。1-99: 赤い点に数字を表示。
    });
    AlipayJSBridge.call('showOptionMenu');
  });

  document.querySelector('.menu').addEventListener('click', function() {
    AlipayJSBridge.call('setOptionMenu', {
      // 表示順は右から左です。
      menus: [{
        icontype: 'scan',
        redDot: '-1', // -1: 非表示。0: 赤い点を表示。1-99: 赤い点に数字を表示。
      }, {
        icontype: 'user',
        redDot: '-1', // -1: 非表示。0: 赤い点を表示。1-99: 赤い点に数字を表示。
      }],
      override: true // 複数のオプションを設定する場合、デフォルトの optionMenu を保持するかどうかを指定します。
    });

    // インターフェイスをリフレッシュするために一度呼び出します。
    AlipayJSBridge.call('showOptionMenu');
  });  

  document.querySelector('.reset').addEventListener('click', function() {
    AlipayJSBridge.call('setOptionMenu', {
      reset: true,
    });
    AlipayJSBridge.call('showOptionMenu');
  });  

  document.querySelector('.show').addEventListener('click', function() {
    AlipayJSBridge.call('showOptionMenu');
  });  

  document.querySelector('.hide').addEventListener('click', function() {
    AlipayJSBridge.call('hideOptionMenu');
  });  

  document.addEventListener('optionMenu', function(e) {
   alert(JSON.stringify(e.data));
  }, false);
});
</script>

API の説明

重要

setOptionMenu を呼び出した後、ボタンが期待どおりに表示されない場合は、showOptionMenu を呼び出してください。

次の 4 つのプロパティのうち 1 つだけを設定します。プロパティは、`reset` > `title` > `icontype` > `icon` の順に優先されます。

AlipayJSBridge.call('setTitle',{
  title, icon, redDot, reset, color, override, menus, icontype
})

入力パラメーター

プロパティ

説明

必須

デフォルト値

title

string

右側のボタンのテキストです。

はい

""

icon

string

右側のボタンのアイコンの URL です。バージョン 9.0 以降、Base64 をサポートします。

バージョン 8.3 以前:iOS 40 × 40 px (パディングなし)、Android 50 × 50 px (両側に 5 px の透明なパディング)。

バージョン 8.4 以降:両プラットフォームとも 40 × 40 px (パディングなし) を使用します。

はい

""

redDot

string

赤い点の値です。

いいえ

""

reset

bool

システムデフォルトにリセットします。reset が true の場合、他のパラメーターは無視されます。

はい

false

color

string

テキストの色の値です。

N

"#FFFFFFFF"

override

bool

複数のオプションを設定する場合、デフォルトの optionMenu を保持するかどうかを指定します。

N

false

menus

array

複数のボタンを設定します。

N

[]

preventDefault

bool

共有ダイアログボックスを開くデフォルトの共有機能を無効にするかどうかを指定します。`preventDefault` が `true` の場合、デフォルトの共有機能は無効になります。

いいえ

[]

icontype

string

イメージタイプに基づいて、プリセットのコンテナイメージを読み込みます。`icontype`、`title`、`icon` のいずれかを選択します。

重要

色の変更は、単一の optionMenu でのみサポートされます。

有効なタイプには、`user` (アカウント)、`filter`、`search`、`add`、`settings`、`scan`、`info`、`help`、`locate`、`more`、`mail` (バージョン 10.0.8 以降) があります。

N

""

contentDesc

string

スクリーンリーダーモードで読み上げられるテキストを設定します。

N

""