2012-04-04 18 views
5

Idę na window.onerror "SECURITY_ERR: DOM Exception 18: Podjęto próbę przełamania polityki bezpieczeństwa agenta użytkownika." Za każdym razem, gdy ładuję moją aplikację iOS PhoneGap. Aplikacja wykorzystuje pamięć lokalną i webSQL. Izolowałem ten błąd, aby rzucić, gdy otwieram bazę danych za pomocą: db = window.openDatabase ("db", "1.0", "Test DB", 1000000);PhoneGap iOS + DOM Exception 18

Nie miałem tego problemu wcześniej i mój kod się nie zmienił - to właśnie wyszło z tego miejsca. Patrzyłem na błędy przechowywania w przeglądarce 5.1 iOS i obawiam się, że mogą być powiązane.

Pomoc?

Odpowiedz

5

To potwierdzony błąd Apple na iOS 5.1. Szczegóły tutaj w tym trackerze problemów PhoneGap/Cordova: https://issues.apache.org/jira/browse/CB-347

+0

dowolne rozwiązanie - jak sobie z tym poradzić? –

+0

@ Shazron-plz spojrzeć na ten http://stackoverflow.com/questions/9510785/iphone-phonegap-email-composer-security-err-dom-exception-18, Mam ten sam problem, mimo że próbowałem z cordova1_7 nadal, mam wyjątek dom po tym, jak MailComopser odrzucił i przeładował DB. –

1

użyłem tego i jest to praca perfectly.Try ten

try { 
if (!window.openDatabase) { 
     alert('not supported'); 
} else { 
     var shortName = 'WineDatabase'; 
     var version = '1.0'; 
     var displayName = 'PhoneGap Test Database'; 
     var maxSize = 655367; // in bytes 
     mydb = openDatabase(shortName, version, displayName, maxSize); 
    } 
} catch(e) { 
// Error handling code goes here. 
if (e == INVALID_STATE_ERR) { 
     // Version number mismatch. 
     alert("Invalid database version."); 
} else { 
     alert("Unknown error "+e+"."); 
} 
return; 
} 

EDIT:

w tym czasie używałem PhoneGap na ios.So ja nie rozumiem, teraz na phonegapie blackberry dostaję ten sam problem i znalazłem przyczynę, która: gdy baza danych jest podłączona, aplikacja nie jest w stanie nic napisać na SDCard.So Odłączyłem ją i działało dobrze. Kumpel nie jest rozwiązaniem dla ios Ale ludzie, którzy szukają ten problem dla BlackBerry może korzystać z tego rozwiązania.

+1

Mogę również sprawić, aby działał, gdy jest to nowa instalacja. Mam wrażenie, że problem jest odtwarzalny tylko wtedy, gdy DB został już wcześniej utworzony i została wykonana nowa instalacja aplikacji. – Henry

Powiązane problemy