Devo ricevere una notifica quando viene modificato localStorage
. Questo codice funziona bene in Firefox 24, ma non funziona in Chrome 29 (o 30) o in IE 10. Funziona anche su un server live, ma non quando sto testando utilizzando un file locale (file:///
).Il listener di eventi localStorage non viene attivato in Chrome per il file locale
Ecco il codice:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#submit').click(function() {
console.log('Clicked');
if($('#username').val() != "")
localStorage.setItem('someItem', 'someValue');
});
$(window).bind('storage', function(e) {
alert('change');
});
});
</script>
</head>
<body>
<input type="text" id="username" name="username" value="" />
<a href="#" id="submit">Click me</a>
<p id="result"></p>
</body>
</html>
Qual è il problema con questo in Chrome? Sto aprendo due schede come richiesto.
Ho letto le specifiche del W3C, penso di averlo capito, il mio problema è di aprire due schede, in tab2, ho cambiato il valore di localStorage, ma tab1 non si è verificato. Hai provato su Chrome versione 29? –
@TrungHuynh si prega di fornire un violino che posso testare con. – K3N
Eccolo! http://jsfiddle.net/4ftxj/! Ma ha bisogno di due schede per eseguire completamente, perché seguire le specifiche, non può ascoltare sulla scheda che cambia localStorage. –