为什么html5应用程序在浏览器中的工作方式与在Cordova(Android)中的工作方式不同?

时间:2015-01-23 00:00:54

标签: javascript html5 cordova

使用适用于Android的Cordova编译时,浏览器中运行良好的HTML5应用程序是否有不同的原因?

cordova不支持与浏览器相同的所有内容吗?

我主要想到/参考JavaScript的工作方式。

2 个答案:

答案 0 :(得分:3)

Cordova本身不处理应用程序的表示层。 Cordova创建了一个基本的单视图本机应用程序,其中单个视图是webview。 webview是实现应用程序的platofrm / SDK的原生。

由于webviews与SDK一起打包,因此它们不像设备上的浏览器那样可更新。这意味着您创建的代码可能在设备上的浏览器中运行良好,但可能无法在本机Webview中运行。此外,您的代码可能适用于较新版本的平台/ SDK,而不适用于旧版本。

如果您遇到网页浏览中使用的特定项目的问题,最好从您遇到问题的平台/ SDK版本中查找该特定网页视图的功能。

一个例子是使用最新版本的Cordova构建一个使用canvas元素的Android应用程序。如果将应用程序部署到运行Android 5.0的设备上,则没有问题,但如果在运行Android 2.3.4的设备上部署相同的应用程序,则应用程序似乎无法运行。这不是因为Cordova,而是因为各种平台/ SDK版本中的webview的功能。

尝试和防范这些类型问题的一种方法是使用框架。原因是大多数前端框架已经内置了与各种版本的webviews / browsers /等兼容的后备。

答案 1 :(得分:0)

因为Cordova使用本机浏览器视图。某些JS实现可能与Chrome,Firefox等不同。

这主要是出于安全原因,或者对于webview本身(取决于平台),您可能会有一些限制或差异。