You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Banno Plugin Framework Bridge iOS正常,Android及Web端功能异常求助

Banno插件Android/Web端链接无响应问题排查与解决

问题背景

使用@jack-henry/banno-plugin-framework-bridge(v1.0.0)开发Banno在线及移动应用自定义插件时,iOS端链接处理、路由功能均正常,但Android端点击链接无响应,Chrome、Safari、Firefox等Web浏览器中链接也无法触发任何操作,路由处于未激活状态。

调试信息

在enableRouter函数中添加调试器后,确认已向父级发送如下格式的postMessage消息:

{
  "data": {
    "href": "https://ui.dev.app-equipifi.com/?jwe_token=Bearer+&tct-id=tectonRoute.EquipifiEnhancedSso.Main&page=plans",
    "external": false
  },
  "type": "click-link"
}

已确认的配置:

  • 所有链接均设置target="_top"
  • 多平台配置已按要求检查

预期结果:Android及Web端点击带target="_top"的href链接时,应显示应用的展开视图,与iOS端行为一致。

排查与解决方案

1. 明确postMessage的目标Origin

浏览器安全机制会拦截未指定目标origin的postMessage,Android WebView和Web端对此限制更严格。修改发送逻辑,指定Banno应用的正确origin:

// 替换为实际的Banno应用域名
const targetOrigin = 'https://your-banno-app-domain.com';
window.parent.postMessage(yourMessageObject, targetOrigin);

2. 确保enableRouter初始化时机正确

Web端和Android端的DOM/框架初始化时序可能与iOS不同,延迟初始化enableRouter:

document.addEventListener('DOMContentLoaded', () => {
  BannoPluginFrameworkBridge.enableRouter();
});

如果是单页应用,也可在路由挂载完成后再调用。

3. 检查Android WebView配置

确认Android端WebView开启JavaScript支持,并允许接收跨域消息:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
// 配置允许的域名白名单,避免跨域拦截
settings.setDomStorageEnabled(true);
// 若需要,添加JavaScript接口辅助处理消息
webView.addJavascriptInterface(new BannoMessageHandler(), "BannoBridge");

4. 修复URL参数编码问题

示例中jwe_token=Bearer+的+号可能导致解析异常,对URL参数进行编码:

const encodedToken = encodeURIComponent('Bearer ');
const href = `https://ui.dev.app-equipifi.com/?jwe_token=${encodedToken}&tct-id=tectonRoute.EquipifiEnhancedSso.Main&page=plans`;

5. 验证父端消息接收

在Banno父应用中添加临时监听,确认是否收到插件发送的消息,排查是发送还是接收端问题:

window.addEventListener('message', (event) => {
  console.log('Received from plugin:', event.data);
  // 验证消息来源域名
  if (event.origin !== 'https://your-plugin-domain.com') return;
  // 手动触发路由测试
  if (event.data.type === 'click-link') {
    window.location.href = event.data.data.href;
  }
});

内容的提问来源于stack exchange,提问作者Kidus Kinfe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 03:46:04