Banno iOS应用中WKWebView内JS导航、postMessage失效但锚点正常的技术咨询及方案问询
Banno iOS应用中WKWebView内JS导航、postMessage失效但锚点正常的技术咨询及方案问询
我们团队目前在Banno平台通过插件交付交互式HTML内容:用户点击插件后,会被重定向到加载我们HTML内容的网页(支持同标签或新标签打开)。原本我们预期,一旦跳出插件沙箱,这个独立页面的表现应该和普通浏览器一致——毕竟我们清楚Banno插件的iframe会有JS能力限制,但这些限制不该延续到重定向后的独立页面。
各平台表现差异
全平台正常功能
- HTML页面渲染完全正常
- 带
target="_top"属性的锚点标签可以正常完成跳转
仅iOS应用中失效的功能
window.location.href = "..."这类基于JavaScript的页面导航完全不执行window.parent.postMessage(...)无法向父级传递消息- onclick事件处理器、基于JS实现的手势交互完全触发不了
目前我们推测,Banno iOS应用可能是用受限配置的WKWebView打开了重定向后的HTML页面,甚至继承了插件iframe类似的安全策略——哪怕这已经是一个脱离插件的独立页面了。
核心疑问
- 这种通过插件重定向打开的页面,在Banno iOS应用中出现的受限行为是官方预期的设计吗?
- 能否对iOS应用的WKWebView进行配置,允许以下能力:
- 基于JavaScript的页面导航
postMessage跨上下文通信- 点击、手势事件的正常处理
- 如果无法通过配置解决,那官方有没有推荐的替代方案,能让我们在从插件打开的HTML内容中实现点击追踪和基础交互?
可复现案例
为了方便定位问题,我基于官方的simple-plugin-example做了复刻测试:
- 新增了一个路由,返回极简HTML页面:包含一张用锚点标签包裹的图片,链接使用
target="_top",并在插件中展示该页面 - 引入了官方的
banno-plugin-framework-bridge.js - 用公开的ngrok URL托管插件,方便外部测试
复现结果
- 在OLB(线上银行端):锚点跳转正常,展开后的页面能正常响应点击
- 在Banno iOS应用中:展开后的页面完全无法响应点击操作
内容来源于stack exchange
相关产品推荐
相关产品推荐

