imToken For Developers
中文
中文
  • 介绍
  • 产品
    • WebView
      • imToken DApp 开发指引
      • RPC Methods
      • Bitcoin
      • SDK APIs
      • 预加载配置
      • 兼容性说明
      • 版本说明
    • Universal Links
    • Deep Linking
  • 参考
    • dapp-sdk
    • tokenlon-onboarding
    • tokenlon-mmsk
    • tokenlon-mmproxy
    • tokenlon-jssdk
    • tokenlon-open-api
Powered by GitBook
On this page
  • 基础
  • 安全性
  • HTTPS
  • 权限
  • 链接
  • 兼容性
  • Blob 协议
  • Cyclic Object Parse

Was this helpful?

  1. 产品
  2. WebView

兼容性说明

关于 imToken WebView 的兼容性与边界说明。

Previous预加载配置Next版本说明

Last updated 4 years ago

Was this helpful?

基础

imToken 应用的 WebView 使用用户设备自携带的默认内核,没有其他修改、hack、或替换。WebView 的渲染行为与用户设备的默认浏览器保持一致。

在 iOS 设备中通常为 WKWebWview,在安卓设备中通常为 Chromium (>4.4) / Android WebKit (<4.4),也可能取决于用户移动设备的操作系统。

对于字体、图标、资源、缩放等行为的预期等同于用户设备的默认浏览器。

安全性

imToken 应用未拦截、更改 WebView 对外的请求,也不会修改页面内部数据,同样出于安全考虑,也不会主动添加第三方垫片来扩充平台兼容性。如果你认为自己的 Web 应用需要更好的兼容性或是修复平台问题,你需要将第三方兼容性垫片添加到自己的 Web 应用中。

HTTPS

HTTPS 是默认必须的协议。

如果你的 Web 站点缺少 HTTPS 证书,那么用户在 imToken 应用中打开站点时会收到安全风险提醒。关于如何为站点添加 HTTPS 证书,请参考 。

权限

当你的应用需要用户提供钱包地址 (或其他) 时,imToken 应用会先请求用户同意,是否成功取决于用户操作。imToken 应用不会在 WebView 中注入用户相关信息。

链接

在 Android 平台,如果你正在使用 target="_blank" 或任何类似的行为 (如 window.open),页面将会在用户的移动设备默认浏览器中打开 (跳出 imToken 应用),这是预期内的行为。

兼容性

Blob 协议

当前 imToken 应用不支持在 Android 平台上使用 blob 协议。

Cyclic Object Parse

imToken 应用不会为开发者额外处理环形对象解析问题,也不会避免环形引用的错误,当遇到此错误时会直接抛出。(少数系统浏览器可能会额外掩盖此问题)

此行为是为了避免 Android 平台的安全问题:。如果你的 Web 应用 (或 DApp) 并不需要跳出到系统默认浏览器,请避免使用target="_blank"。

关于如何避免环形应用、解析,请参考 了解更多。

Google HTTPS 文档
XSS vulnerabilities in the Android platform
MDN 文档