设置标题

此接口用于设置页面的标题栏,包括主标题、副标题以及标题菜单项。

说明

由于苹果的 ATS 限制,Image URL 必须为 HTTPS 链接或 Base64,而 HTTP 链接会被忽略。

setTitle 接口的使用方法

AlipayJSBridge.call('setTitle', {
  title: '标题',
});

代码示例

设置各种类型的标题栏:

<h1>点击以下按钮看不同效果</h1>
<a href="javascript:void(0)" class="btn title">只设置标题</a>
<a href="javascript:void(0)" class="btn subTitle">标题+副标题</a>
<a href="javascript:void(0)" class="btn clear">清空标题</a>

<script>
function ready(callback) {
  // 如果 jsbridge 已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function(){
  document.querySelector('.title').addEventListener('click', function() {
    AlipayJSBridge.call('setTitle', {
      title: '标题'
    });
  });

  document.querySelector('.subTitle').addEventListener('click', function() {
    AlipayJSBridge.call('setTitle', {
      title: '标题',
      subtitle: '副标题'
    });
  });

  document.querySelector('.clear').addEventListener('click', function() {
    AlipayJSBridge.call('setTitle', {
      title: ' ',
      subtitle: ' ',
    });
  });
});
</script>

API 说明

AlipayJSBridge.call('setTitle',{
  title, subtitle, image
}, fn)

入参

属性

类型

描述

必填

默认值

title

string

主标题文案。

N

“”

subtitle

string

副标题文案。

N

“”

image

string

支持 URL 或者 Base64,请使用一张 3X 图,如果设置了 image,则前两个参数失效,并且不从 WebView 的回调中读取 title。

N

“”

注意事项

在 Android 10.0.18 版本之前不支持设置空的 title,但是可以通过设置一个不可见的字符串绕过这个限制,不过在 Android 10.0.20 版本中已经去掉了这个限制。

AlipayJSBridge.call('setTitle', {
  title: '\u200b',
});