Ho un'app Android basata sul Web che utilizza WebSQL per l'archiviazione. Per qualche ragione, chiamare openDatabase
a un certo punto (in risposta a un clic del pulsante), provoca un DOMException
con il messaggio "SECURITY_ERR: DOM Exception 18"
.SECURITY_ERR: DOM Exception 18 su openDatabase
Nota che non sto utilizzando PhoneGap.
La domanda principale che sto chiedendo è: Quali sono le possibili cause di DOMException 18 su openDatabase
?
Altri dettagli: Questa eccezione si verifica solo se il database non esiste ancora. Se esiste già, funziona come previsto. La funzione che effettua la chiamata openDatabase
viene utilizzata in un'altra parte dell'app e funziona perfettamente.
Quello che ho provato finora:
- La riduzione delle dimensioni del database - non dovrebbe essere un problema dal momento che è stato creato da un'altra parte della app.
- Ho controllato le autorizzazioni di archiviazione esterne - di nuovo, non dovrebbe essere un problema.
- Ho letto da qualche parte che il cavo USB da collegare potrebbe causare questo problema, non quello che sta causando in questo caso.
EDIT: Questo è ciò che il comando è simile:
db = openDatabase('my_database', '1.0', 'My database description', 5*1024*1024, function() {});
è risolto il problema ... sto affrontando lo stesso problema ... – Aravin
Non ho mai scoperto quale fosse la causa. Alla fine, ho trovato la stabilità di WebSQL essere troppo incoerente su diversi dispositivi Android/versioni per le mie esigenze, quindi ho finito per scrivere un'interfaccia nativa che si è rivelata di gran lunga migliore. Anche se non ho più bisogno di una risposta a questa domanda, sarei comunque interessato a sentirne uno, per curiosità. – Goldsmith
ho risolto questo problema .. chiamato database aperto all'interno della funzione pronta per il dispositivo .... – Aravin