我正在尝试在Office桌面上的Office.js应用中使用storage event,在上,但它仅适用于sessionStorage
,不适用于localStorage
。 / p>
虽然localStorage
的存储事件运行正常,但是...
...它似乎仅在{strong> Office Desktop 应用程序(使用IE11)中运行时,sessionStorage
才起作用。
这是我用于测试的代码:
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结构:
<button id="writels">Write to localStorage</button>
<button id="writess">Write to sessionStorage</button>
<pre id="output"></pre>
为sessionStorage
和 localStorage
设置值都可以很好地工作,但是仅在sessionStorage
更改上触发事件仅