使用适用于Android的Cordova编译时,浏览器中运行良好的HTML5应用程序是否有不同的原因?
cordova不支持与浏览器相同的所有内容吗?
我主要想到/参考JavaScript的工作方式。
答案 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本身(取决于平台),您可能会有一些限制或差异。