兼容性说明
关于 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 文档 了解更多。
Last updated