我目前正在尝试让HTML5 viewer.js example在Android WebView中运行。
WebView初始化如下所示:
webView.setWebViewClient(new WebViewClient());
final WebSettings webSettings = webView.getSettings();
settings.setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/index.html");
问题是在运行Android 4.3 JB的Nexus 7(使用Chrome作为股票浏览器)中,示例失败并呈现: 加载文档元数据时出错(您检查了网址吗?) 即可。我还尝试了运行4.2的三星Galaxy Nexus,结果相同。
但是在运行Android 4.0.4 ICS(使用默认的浏览器应用程序)的GBox(MediaBox,Android TV)上,它需要一段时间,但它会呈现文档。有很多样式问题,但它可以呈现它。
但是,如果我从远程服务器(例如,Python SimpleHttpServer)提供所有资源并使用索引页面url加载WebView,则它在任何设备中都没有任何问题。
这是关于交叉浏览的Crocodoc View API特定问题吗?
答案 0 :(得分:1)
这是特定于Chrome的问题,请参阅此处:Problems with jQuery getJSON using local files in Chrome
总之,Chrome的安全模型会阻止来自file:///
网址的AJAX请求。这会给viewer.js带来麻烦,因为它利用AJAX以性能优化的方式加载资源。建议的解决方案是始终通过Web服务器提供资产。