【发布时间】:2018-04-03 14:33:55
【问题描述】:
我正在尝试为 Moverio BT-300 (Android 5.1) 创建一个 WebView 应用程序。我已经让它运行一些 javascript 文件,但我无法让 d3.js(版本 4.11)在 BT-300 上正常工作。
d3 脚本在 Acer 平板电脑上完全相同的 WebView 应用程序上完美运行,所以我怀疑是 WebView 版本的问题。使用Log.i("WebViewActivity", "UA: " + webView.getSettings().getUserAgentString());,这是 Acer 平板电脑上的输出:
I/WebViewActivity: UA: Mozilla/5.0 (Linux; Android 5.0.2; A3-A30 Build/LRX22G; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36
在 Moverio BT-300 上:
I/WebViewActivity: UA: Mozilla/5.0 (Linux; Android 5.1.1; EMBT3C Build/R1.4.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36
即使 Android 较新,Moverio 的 Chrome 也较旧,我的问题是如何将其更新到较新的版本?
-- 我的尝试--
我下载了 WebView APK here 并安装在 Moverio 上,但 WebView 仍在使用旧版 Chrome。
Android 7 有一个名为更改 WebView 实现的选项,但这不是 Android 5 的选项。
-- 旁注--
d3 不起作用的事实可能意味着它使用的库之一不兼容,如 here 所述。但是,Moverio WebView 可以运行 CSS 脚本,用 js 操作 DOM,播放 HTML5 视频,绘制 SVG。库兼容性可能是个问题,但更新 WebView 是一种更直接的方法,因此我不必淡化 d3 中的未来开发。
【问题讨论】:
标签: javascript android d3.js svg webview