Office中的localStorage不会触发存储事件

时间:2019-01-07 10:53:33

标签: javascript local-storage ms-office internet-explorer-11 office-js

我正在尝试在Office桌面上的Office.js应用中使用storage event,在,但它仅适用于sessionStorage,不适用于localStorage。 / p>

虽然localStorage的存储事件运行正常,但是...

  • 通常是IE11(try this demo)中的
  • 在Chrome中的Office 在线
  • 在IE11中的Office 在线

...它似乎仅在{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更改上触发事件

0 个答案:

没有答案