我正在开发一个移动应用程序,为此我使用html5/js和Phonegap。我使用window.openDatabase(...)将一些数据存储在本地数据库中。
这在Android2.x上工作得很好,但当我尝试使用Android4.0.3时,我发现了以下错误:D/CordovaLog(698): Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase'
我的代码是:
if (!window.openDatabase)
alert("Error: can't open local database");
if (!localStorage)
alert("Error: localstorage not usable");
var db = window.openDatabase("Database", "1.0", "DatabaseName", 200000);你知道这是从哪里来的吗?我该如何解决它?提前谢谢。
亲切的问候,维。
发布于 2012-08-23 12:57:28
根据http://androidforums.com/application-development/103644-why-doesnt-work-javascript-opendatabase-android.html的说法,安卓从一开始就不太支持window.OpenDatabase()方法。您可能希望看到这个StackOverflow线程:Android 4.0.1 breaks WebView HTML 5 local storage?
发布于 2012-08-23 17:50:35
我通过更新phonegap库(到2.0版)解决了我的问题。我对.jar使用1.9版,对.js文件一直使用旧版本: 1.4版。
我发现在一些版本的DroidGap.java中,来自WebView的WebSettings配置没有激活数据库。但也许只是因为我有一个非常旧的.js库版本。
所以现在,它看起来是好的。
谢谢你的帮助。
发布于 2016-11-15 19:21:08
我对此进行了调查,发现该问题是由于试图打开(创建)具有较大估计大小的数据库而导致的。
只需从5kb (5*1024)开始,然后移动到5Mb (5*1024*1024)
var db = window.openDatabase('mydb', '1.0', 'Test DB', 5 * 1024);
https://stackoverflow.com/questions/12076356
复制相似问题