Ho il seguente codice HTML che tenta di impostare una chiave nella memoria locale.Dom eccezione 18 in javascript/html5 quando si tenta di accedere all'archivio locale
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script>
document.addEventListener('DOMContentLoaded', loaded, false);
function loaded(){
try {
window.localStorage.setItem("Test", "SetItemValue");
document.getElementById("test").innerHTML = "Test OK";
} catch (err) {
document.getElementById("test").innerHTML = "Test FAIL<br>" + err.message;
}
}
</script>
</head>
<body>
<div id="test">Testing...</div>
</body>
</html>
Su un singolo iPhone5 ciò provoca la seguente eccezione.
Test FAIL
SecurityError: DOM Exception 18
Altri iPhone testati (altri tre) con la stessa versione di iOs (7.0.2) funziona.
Ho provato la pagina sopra sia da https://x.y.domain.tld sia da http://x.domain.tld con la stessa eccezione.
Altre domande relative a "DOM Exception 18" sembrano essere relative alle impostazioni di sicurezza, ad es. test su localhost ma collegamento in contenuti remoti tramite https. Ma questa è una semplice pagina html che tenta semplicemente di accedere all'archivio locale.
Vedere la mia risposta, il problema è stato risolto. Ma abbiamo provato a cambiare tutte le impostazioni (fortunatamente non così tante) in Safari, provando ogni combinazione. Avrei dovuto aggiungerlo alla mia domanda. – mnsc