如何在Enterprise Browser中打开外部应用?支付链接跳转异常求助
在Zebra Enterprise Browser中启动外部应用的解决方案
Hey Pim,我来帮你搞定这个问题!Zebra的Enterprise Browser(EB)确实支持启动外部应用,只是它对自定义URL Scheme的处理逻辑和Chrome不一样,得做些针对性配置,下面是具体步骤:
1. 先把自定义Scheme加入EB的白名单
EB默认会限制非标准URL Scheme的访问,你需要把sumupmerchant://添加到允许列表:
- 打开EB的设置页面,找到安全板块下的允许的URL Scheme选项
- 点击添加按钮,输入
sumupmerchant(不用带://),保存设置后重启EB
2. 用EB原生API启动应用(更可靠的方案)
如果白名单配置后还是不行,推荐用EB专门提供的App.launch() API来调用外部应用,这比直接跳转链接更稳定,不会被安全策略拦截。给你写了个示例代码:
// 拼接你的支付链接参数 const payUrl = `sumupmerchant://pay/1.0?affiliate-key=aa&app-id=bb&total=0¤cy=EUR&title=cc`; // 调用EB原生API启动应用 if (typeof App !== 'undefined') { App.launch(payUrl, (success) => console.log("SumUp应用启动成功!"), (error) => console.error("启动失败:", error) ); } else { console.error("请确保在Zebra Enterprise Browser中运行此代码"); }
这个方法是EB官方推荐的,兼容性拉满,还能拿到启动结果的回调。
3. 验证配置是否生效
- 先测试个简单的Scheme,比如
tel:123456,如果能正常弹出电话应用,说明EB的外部应用功能没问题 - 再测试你的
sumupmerchant://链接,注意参数里的特殊字符最好用encodeURIComponent()转义,避免解析错误
4. 额外注意点
- 确保设备上的SumUp应用是最新版本,旧版本可能Scheme格式有变化
- 如果你用了EB的Kiosk模式,记得在Kiosk的配置里也把
sumupmerchant加入允许列表 - EB版本建议用1.8以上,旧版本可能对Scheme支持不完善
这样调整后,应该就能正常启动SumUp应用,同时保留EB连接Zebra打印机的功能啦!
内容的提问来源于stack exchange,提问作者Pim vd Molen
相关产品推荐
相关产品推荐

