钉钉聊天界面发送的链接地址,半浮层打开的,链接应用内正常做跳转,安卓手机使用右滑返回,半浮层被关闭了,而不是正常的返回,期望:正常返回或者有什么参数,打开后是个完整的页面容器,而不是半浮层
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您描述的问题,钉钉聊天界面发送的链接地址在半浮层中打开时,安卓手机使用右滑返回操作会导致半浮层关闭,而不是正常返回。这种行为可能与链接的打开方式或页面容器的配置有关。以下是针对该问题的分析和解决方案:
pageConfig配置调整页面容器类型在集成UI SDK时,可以通过pageConfig参数对页面容器类型进行配置,确保链接打开后是一个完整的页面容器,而不是半浮层。
关键参数说明:
containerType:用于指定页面容器类型。设置为fullScreen可以强制页面以完整页面容器形式打开。const pageConfig = {
  containerType: "fullScreen", // 强制以完整页面容器打开
  shareInfo: {
    title: {
      "en": "Way 1: Copy to Share",
      "zh-cn": "方式一:快速复制分享",
    },
    tips: {
      "en": "After copied, share with others via Dingding or other IM apps.",
      "zh-cn": "复制后,通过钉钉等聊天工具邀请参会人员。",
    },
    content: [
      {
        title: {
          "en": "Link",
          "zh-cn": "会议链接",
        },
        action: "link",
        actionValue: {
          "en": "https://www.example.com/",
          "zh-cn": "https://www.example.com/",
        },
        actionLabel: {
          "en": "Copy Meeting Link",
          "zh-cn": "复制会议链接",
        },
      },
    ],
  },
};
效果:通过上述配置,链接打开后将以完整页面容器形式展示,避免半浮层关闭的问题。
在生成链接时,可以通过添加特定的URL参数来控制页面的打开方式。例如,钉钉支持通过ddtab参数指定页面是否在新标签页中打开。
关键参数说明:
ddtab=true:强制链接在新标签页中打开,避免半浮层的限制。https://www.example.com/?ddtab=true
效果:用户点击链接后,页面将在新标签页中打开,完全脱离半浮层的限制。
如果必须使用半浮层打开链接,可以通过以下方式优化右滑返回逻辑:
监听页面返回事件:
popstate事件,捕获用户的返回操作。window.addEventListener("popstate", function (event) {
// 阻止默认行为,执行自定义逻辑
event.preventDefault();
console.log("用户尝试返回,执行自定义逻辑");
// 可以在此处实现页面内返回逻辑
});
自定义返回按钮:
通过以上方案,您可以有效解决安卓手机右滑返回导致半浮层关闭的问题,并根据实际需求选择合适的页面打开方式。