Safari 14.1选项卡之间的本地存储未同步



以下是一个在Safari 14.0(以及Chrome、Firefox(中有效但在Safari 14.1中无效的最小情况:https://ffvix.csb.app

  1. 在两个选项卡中打开演示
  2. 输入一些文本并按";提交">
  3. 切换到其他选项卡并按";得到">

应该可以通过localStorage在托管在同一域上的两个选项卡之间同步消息。

演示代码:

<h1>To localStorage</h1>
<form id="form">
<input id="text" type="text" />
<input type="submit" />
</form>
<h1>From localStorage</h1>
<button id="getout">get</button>
<p id="out"></p>
<script type="text/javascript">
const form = document.getElementById("form");
const text = document.getElementById("text");
const out = document.getElementById("out");
const getout = document.getElementById("getout");
form.addEventListener("submit", function (e) {
localStorage.setItem("test", text.value);
e.preventDefault();
});
function getIt() {
out.textContent = localStorage.getItem("test");
}
getIt();
getout.addEventListener("click", getIt);
window.addEventListener("storage", getIt);
</script>

已确认:https://twitter.com/jaffathecake/status/1389493762129375232

Bug:https://bugs.webkit.org/show_bug.cgi?id=225344

一旦我听说有修复程序,我会更新它。


Fix已从版本14.1.2(16611.3.10.1.6(开始发货。在两个选项卡中测试https://static-misc-3.glitch.me/localstorage-bug/。状态按预期同步。

最新更新