标签之间的Safari14.1localStorage不同步

这是一个适用于 Safari 14.0(和 Chrome、Firefox)但不适用于 Safari 14.1 的最小案例:https :
//ffvix.csb.app

  1. 在 2 个选项卡中打开演示
  2. 输入一些文字,然后按“提交”
  3. 切换到其他选项卡并按“获取”

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

演示代码:

    <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

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

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


从版本 14.1.2 (16611.3.10.1.6) 开始,修复程序已经发布。使用https://static-misc-3.glitch.me/localstorage-bug/在两个选项卡中进行测试。状态按预期同步。


以上是标签之间的Safari14.1localStorage不同步的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>