2014-02-23 45 views
0

我開發了一個使用AngularJs的混合應用程序,它在iOS上運行良好。 但現在我不能夠在Android上運行,我使用的WebSQL和獲取,並得到一個錯誤:Android:WebSQL openDatabase沒有定義

webSettings.setDatabaseEnabled(true); 

但後來這樣的:

openDatabase not defined. 

其中關於增加這網頁視圖設置dissapeared提出:

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

在我使用openDatabase的同一行上。

我不考慮改變我的數據庫。

回答

0

您試圖授予數據庫多少配額?如果它超過了默認值(或者你的數據庫後來增長到你所要求的更多)並且你還沒有實現WebChromeClient.onExceededDatabaseQuota那麼你將會得到這個錯誤。

也請確保對數據庫文件的路徑設置爲你的應用程序有權使用WebSettings.setDatabasePath [2]

[1] http://developer.android.com/reference/android/webkit/WebChromeClient.html#onExceededDatabaseQuota(java.lang.String,java.lang.String中,很長很長,長到某處訪問,android.webkit.WebStorage.QuotaUpdater)

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

+0

謝謝。設置數據庫路徑工作 – KetanJogani

0

也許這是一個安全錯誤,因爲它違反了同源策略?設置webSettings.setAllowFileAccessFromFileURLs(true)是否有幫助?

+0

我已經嘗試過。不起作用。 – KetanJogani

+0

您正在使用哪種Android版本?如何(也?)添加webSettings。在Jellybean(API 16)或更高版本上運行時,setAllowUniversalAccessFromFileURLs(true)?這有幫助嗎? – Jasongiss