开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
导航栏
tabbar
路由
交互反馈
下拉刷新
联系人
选择城市
选择日期
动画
画布
地图
计算路径
键盘
滚动
节点查询
选项选择器
级联选择
设置窗口背景
设置页面是否支持下拉
字体
跳转
多媒体
缓存
文件
位置
网络
设备
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 界面 > 导航栏 > my.getmenubuttonboundingclientrect
评论 (3)
收藏
我的文档
设置

object my.getmenubuttonboundingclientrect()

基础库  或更高版本; 且 支付宝客户端 10.1.90 或更高版本; 若版本较低,建议采取 兼容处理

支小宝客户端 支持

安诊儿客户端 支持

小程序开发者工具: 支持。由于历史原因,需要使用 ide 2.7.0 以上版本才可正常调用。

主体: 企业支付宝小程序个人支付宝小程序

获取菜单按钮(右上角胶囊按钮)的布局位置信息。

object

菜单按钮的布局位置信息 查看示例

属性 类型 描述
width number

胶囊按钮宽度,单位 px。

height number

胶囊按钮高度,单位 px。

top number

胶囊按钮上边界坐标,单位 px,以屏幕左上角为原点。

bottom number

胶囊按钮下边界坐标,单位 px,以屏幕左上角为原点。

left number

胶囊按钮左边界坐标,单位 px,以屏幕左上角为原点。

right number

胶囊按钮右边界坐标,单位 px,以屏幕左上角为原点。

optionmenuwidth number

自定义按钮宽度,单位 px。

optionmenuheight number

自定义按钮高度,单位 px。

optionmenutop number

自定义按钮上边界坐标,单位 px,以屏幕左上角为原点。

optionmenubuttom number

自定义按钮下边界坐标,单位 px,以屏幕左上角为原点。

optionmenuleft number

自定义按钮左边界坐标,单位 px,以屏幕左上角为原点。

optionmenuright number

自定义按钮右边界坐标,单位 px,以屏幕左上角为原点。

my.getmenubuttonboundingclientrect()
返回值示例
function compareversion(v1, v2) {
    var s1 = v1.split("."); 
    var s2 = v2.split("."); 
    var len = math.max(s1.length, s2.length); 
    for (let i = 0; i < len; i) {
        var num1 = parseint(s1[i] || "0"); 
        var num2 = parseint(s2[i] || "0"); 
        if (num1 > num2) { 
            return 1; 
        } else if (num1 < num2) { 
            return -1; 
        }
    }
    return 0;
} 
const clientversion = my.env.clientversion || my.getsysteminfo().clientversion; 
const sdkversion = my.sdkversion; 
if(compareversion(sdkversion, '1.25.4') >= 0 && compareversion(clientversion,'10.1.90') >= 0) { 
    const res = my.getmenubuttonboundingclientrect();
 } else {
    console.log('当前环境不支持调用my.getmenubuttonboundingclientrect');
}

由于历史原因,请使用『版本号检测』的方式来判断可用性。详细可参考文档:兼容

{
  "height": 32,
  "width": 87,
  "left": 281,
  "right": 368,
  "top": 56,
  "bottom": 88,
  "optionmenubottom": 87,
  "optionmenuheight": 30,
  "optionmenuleft": 249,
  "optionmenuright": 279,
  "optionmenustatus": "unfavorite",
  "optionmenutop": 57,
  "optionmenuwidth": 30,
  "success": true
}

q:收藏按钮的位置如何获取?

a:

调用 my.getmenubuttonboundingclientrect,拿到 optionmenuwidth、optionmenutop 等相关信息。

q:为什么获取胶囊位置数据不准确,甚至是负数?

a:
  • ide 3.5.1 以下的版本偶现 top、left 等值为负数的情况,请安装最新版本 ide。
  • ios 端偶现 top、left 等值为 0 的情况,可通过延时调用来规避。

q:调用此接口为什么报错 'not titlebar'?

a:
  • 可能是调用此接口时,导航栏胶囊按钮还未渲染完成。可延时一定时间,再调用此接口。

q:如何获取是否收藏?

a:

可通过 my.iscollected() 获取是否收藏

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图