Я пытаюсь использовать событие хранения в приложении Office.js на Office Desktop , но оно работает только для sessionStorage
, а не localStorage
.
Хотя событие хранения отлично работает для localStorage
…
… кажется, он работает только для sessionStorage
при запуске в приложениях Office Desktop (где используется IE11).
Это код, который я использую для тестирования:
const output = document.getElementById('output');
window.addEventListener('storage', ev => {
output.innerHTML += `${ev.key} changed to ${ev.newValue}<br>`;
});
document.getElementById('writels').addEventListener('click', () => {
localStorage.setItem('lstest', (+new Date()).toString());
});
document.getElementById('writess').addEventListener('click', () => {
sessionStorage.setItem('sstest', (+new Date()).toString());
});
И это HTML-конструкция, с которой он работает:
<code><button id="writels">Write to localStorage</button>
<button id="writess">Write to sessionStorage</button>
<pre id="output">
Установка значений прекрасно работает как для sessionStorage
, так и для localStorage
, но событие получает только при sessionStorage
изменениях.