跳转到主要内容

Webview 嵌入

Webview 用沙箱 iframe 嵌入 HTTPS 页面。

属性

默认 Allow:
Sandbox 只接受安全白名单;allow-same-origin、allow-top-navigation、allow-popups-to-escape-sandbox 永远不开放。示例:

链接行为

跨域 iframe 的点击无法被父页面拦截,所以没有“链接在浏览器打开”的 iframe 参数:
  • target="_self":在 iframe 内跳转。
  • target="_blank":受 Sandbox 的 Popups 控制;移除 Popups 后不会打开弹窗。
  • 需要“外部链接一律用系统浏览器打开”时,应使用后端代理重写页面,或改用原生 Webview 的 navigation hook;iframe 本身无法安全实现。

安全边界

  • Src 必须是 HTTPS,且域名必须在编辑器中确认。
  • iframe 固定使用 sandbox="allow-scripts allow-forms allow-popups allow-downloads",不包含 allow-same-origin,不能访问启动器页面;弹出窗口也不会逃逸沙箱。
  • 不能嵌入 file:、data: 或本地路径。
  • 目标站点可能通过 X-Frame-Options / CSP 禁止嵌入;这种情况下请使用 OpenUrl 在外部浏览器打开。
  • 动态 Src 的域名仍需在组件 hosts 中确认,否则不会渲染。

布局

Webview 是固定高度块级元素。外层 Container 负责裁剪或滚动;不要依赖 iframe 自己改变组件高度。