API ini mengatur properti tombol di pojok kanan atas bilah judul. Untuk menampilkan tombol tersebut, Anda juga harus memanggil showOptionMenu.
Karena pembatasan Apple's App Transport Security (ATS), URL ikon harus berupa tautan HTTPS atau string Base64. Tautan HTTP akan diabaikan.
Gunakan API setOptionMenu
AlipayJSBridge.call('setOptionMenu', {
title : 'Button', // Pilih salah satu dari title, icon, dan icontype
redDot : '-1', // -1: Jangan tampilkan. 0: Tampilkan titik merah. 1-99: Tampilkan angka pada titik merah.
color : '#ff00ff00', // Harus berupa nilai warna ARGB yang diawali dengan #.
});Contoh kode
Atur berbagai jenis tombol di pojok kanan atas:
<h1>Klik tombol di bawah ini untuk melihat efek berbeda</h1>
<a href="javascript:void(0)" class="btn button">Single button</a>
<a href="javascript:void(0)" class="btn icon">Single icon</a>
<a href="javascript:void(0)" class="btn menu">Multiple menus (9.9.3)</a>
<a href="javascript:void(0)" class="btn reset">Reset</a>
<a href="javascript:void(0)" class="btn hide">Hide</a>
<a href="javascript:void(0)" class="btn show">Show</a>
<script>
function ready(callback) {
// Jika jsbridge sudah disuntikkan, panggil langsung.
if (window.AlipayJSBridge) {
callback && callback();
} else {
// Jika belum, dengarkan event penyuntikan.
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function(e) {
document.querySelector('.button').addEventListener('click', function() {
AlipayJSBridge.call('setOptionMenu', {
title : 'Button',
redDot : '5', // -1: Jangan tampilkan. 0: Tampilkan titik merah. 1-99: Tampilkan angka pada titik merah.
color : '#ff00ff00', // Harus berupa nilai warna ARGB yang diawali dengan #.
});
AlipayJSBridge.call('showOptionMenu');
});
document.querySelector('.icon').addEventListener('click', function() {
AlipayJSBridge.call('setOptionMenu', {
icon : 'http://pic.alipayobjects.com/e/201212/1ntOVeWwtg.png',
redDot : '-1', // -1: Jangan tampilkan. 0: Tampilkan titik merah. 1-99: Tampilkan angka pada titik merah.
});
AlipayJSBridge.call('showOptionMenu');
});
document.querySelector('.menu').addEventListener('click', function() {
AlipayJSBridge.call('setOptionMenu', {
// Urutan tampil dari kanan ke kiri.
menus: [{
icontype: 'scan',
redDot: '-1', // -1: Jangan tampilkan. 0: Tampilkan titik merah. 1-99: Tampilkan angka pada titik merah.
}, {
icontype: 'user',
redDot: '-1', // -1: Jangan tampilkan. 0: Tampilkan titik merah. 1-99: Tampilkan angka pada titik merah.
}],
override: true // Jika Anda mengatur beberapa opsi, tentukan apakah akan mempertahankan optionMenu default.
});
// Panggil sekali untuk refresh antarmuka.
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>Deskripsi API
Jika tombol tidak muncul seperti yang diharapkan setelah Anda memanggil setOptionMenu, panggil showOptionMenu.
Atur hanya salah satu dari keempat properti berikut. Properti diprioritaskan dalam urutan berikut: reset > title > icontype > icon.
AlipayJSBridge.call('setTitle',{
title, icon, redDot, reset, color, override, menus, icontype
})Parameter input
Properti | Tipe | Deskripsi | Wajib | Nilai default |
title | string | Teks tombol di sebelah kanan. | Ya | "" |
icon | string | URL ikon untuk tombol di sebelah kanan. Mendukung Base64 mulai versi 9.0. Versi 8.3 dan sebelumnya: iOS 40 × 40 px (tanpa padding), Android 50 × 50 px (padding transparan 5 px di setiap sisi). Versi 8.4 dan seterusnya: Kedua platform menggunakan 40 × 40 px (tanpa padding). | Ya | "" |
redDot | string | Nilai untuk titik merah. | Tidak | "" |
reset | bool | Menyetel ulang ke pengaturan default sistem. Saat reset bernilai | Ya | false |
color | string | Nilai warna teks. | N | "#FFFFFFFF" |
override | bool | Jika Anda mengatur beberapa opsi, tentukan apakah akan mempertahankan optionMenu default. | N | false |
menus | array | Mengatur beberapa tombol. | N | [] |
preventDefault | bool | Menentukan apakah akan mencegah fitur berbagi default, yang membuka kotak dialog berbagi. Jika `preventDefault` bernilai `true`, fitur berbagi default dicegah. | N | [] |
icontype | string | Memuat gambar kontainer preset berdasarkan tipe gambar. Pilih salah satu dari `icontype`, `title`, dan `icon`. Penting Perubahan warna hanya didukung untuk optionMenu tunggal. Tipe yang valid mencakup `user` (akun), `filter`, `search`, `add`, `settings`, `scan`, `info`, `help`, `locate`, `more`, dan `mail` (versi 10.0.8 dan seterusnya). | N | "" |
contentDesc | string | Mengatur teks yang akan dibacakan dalam mode screen reader. | N | "" |