兼容性说明

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

基础

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

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

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

安全性

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

HTTPS

HTTPS 是默认必须的协议。

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

权限

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

链接

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

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

兼容性

Blob 协议

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

Cyclic Object Parse

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

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

最后更新于