Mam internetową aplikację na Androida, która używa WebSQL do przechowywania. Z jakiegoś powodu wywołanie openDatabase
w jednym punkcie (w odpowiedzi na kliknięcie przycisku) powoduje wyświetlenie DOMException
z komunikatem "SECURITY_ERR: DOM Exception 18"
.SECURITY_ERR: DOM Exception 18 on openDatabase
Pamiętaj, że nie używam PhoneGap.
Główne pytanie, które tutaj zadam, to: Jakie są możliwe przyczyny wyjątku DOMException 18 na openDatabase
?
Jeszcze więcej szczegółów: Ten wyjątek występuje tylko wtedy, gdy baza danych jeszcze nie istnieje. Jeśli już istnieje, działa zgodnie z oczekiwaniami. Funkcja wywołująca połączenie openDatabase
jest używana w innej części aplikacji i działa dobrze.
Co Próbowałem tak daleko:
- Zmniejszenie rozmiaru bazy danych - nie powinno być problemem, ponieważ jest tworzony przez inną część aplikacji.
- Sprawdziłem uprawnienia do zewnętrznego magazynu - znowu nie powinno to być problemem.
- Czytałem gdzieś, że kabel USB podłączony może spowodować ten problem - nie to, co jest przyczyną w tym przypadku.
EDIT: To właśnie polecenie wygląda następująco:
db = openDatabase('my_database', '1.0', 'My database description', 5*1024*1024, function() {});
czy problem został rozwiązany ... mam do czynienia z tym samym problemem ... – Aravin
Nigdy nie dowiedziałem się, co było przyczyną. Ostatecznie stwierdziłem, że stabilność WebSQL jest zbyt niespójna na różnych urządzeniach/wersjach Androida dla moich potrzeb, dlatego napisałem natywny interfejs, który okazał się znacznie lepszy. Chociaż nie potrzebuję już odpowiedzi na to pytanie, nadal byłbym zainteresowany wysłuchaniem jednego z uwagi na ciekawość. – Goldsmith
Rozwiązałem ten problem. Nazywam się otwartą bazą danych wewnątrz funkcji gotowości urządzenia .... – Aravin