Android:未定义WebSQL openDatabase

时间:2014-02-23 21:49:49

标签: android angularjs android-webview web-sql

我使用AngularJs开发了一个混合应用程序,在iOS上运行良好。 但是现在我无法在Android上运行,我正在使用WebSQL并且正在收到错误:

openDatabase not defined.

将此添加到webview设置时失败了:

webSettings.setDatabaseEnabled(true);

然后出现了这个问题:

02-24 03:08:10.687: E/Web Console(31421): Uncaught Error: SECURITY_ERR: DOM Exception 18 

在我使用openDatabase的同一行。

我不考虑更改我的数据库。

2 个答案:

答案 0 :(得分:0)

这可能是一个安全错误,因为它违反了同源政策?设置webSettings.setAllowFileAccessFromFileURLs(true)有助于解决问题吗?

答案 1 :(得分:0)

您尝试授予数据库的配额是多少?如果它超过默认值(或者您的数据库后来增长到您所请求的更多)并且您没有实现WebChromeClient.onExceededDatabaseQuota那么您将收到此错误。

另外,请确保将数据库文件的路径设置为您的应用有WebSettings.setDatabasePath [2]

访问权限的位置

[1] http://developer.android.com/reference/android/webkit/WebChromeClient.html#onExceededDatabaseQuota(java.lang.String,java.lang.String,long,long,long,android.webkit.WebStorage.QuotaUpdater)

[2] http://developer.android.com/reference/android/webkit/WebSettings.html#setDatabasePath(java.lang.String)