다음 예제는 IE 9와 적어도 두 개의 다른 탭에서 실행되어야합니다. localStorage.getItem은 IE 9에서 이전 데이터를 반환합니다.
<input type="text" name="data" value="" placeholder="change me" id="data" />
<p id="fromEvent">Waiting for data via <code>storage</code> event...</p>
<script type="text/javascript">
window.addEventListener("storage", function (e) {
if (e.key == 'storage-event-test') {
var newValue = localStorage.getItem('storage-event-test'); // returns old value
// var newValue = e.newValue; // returns new value
$('#fromEvent').html(newValue);
}
}, false);
$('#data').live('keyup', function() {
var changedValue = this.value;
$('#fromEvent').html(changedValue);
localStorage.setItem('storage-event-test', changedValue);
});
</script>
이 var newValue = localstorage.getItem('storage-event-test');
와 탭에서 데이터를 얻을하려고하면
test
다음 내
<p id="fromEvent">
에서 제대로
test
보여줍니다하지만 내
탭 2 단지
tes
이제 경우 기록 입력 코드를 변경하려면 var newValue = e.newValue;
Tab 1 & Tab 2는 <p id="fromEvent">
다른 사람이 왜 다른 결과를 반환하는지 설명 할 수 있습니까? Google 크롬 및 Firefox에서이 코드를 테스트 해 본 결과이 문제가 발생하지 않았습니다.
단지 기록을 위해, 이것은 IIS Express를 사용하고 jquery-1.5.1을 사용하여 7 Ultimate 64 SP1에서 우승했습니다. 와 버그 정상 IIS 7.5 동일한 결과를 테스트 IE9의 32 비트 및 64 비트 버전
편집 모두에
편집 2 사람이 무슨 일이 일어나고 있는지 확인 수 있다면 좋겠지 그들에게?
이것은 여전히 Internet Explorer 11의 문제입니다. – Sonny