【问题标题】:Safari 14.1 localStorage between tabs is not syncing标签之间的 Safari 14.1 localStorage 未同步
【发布时间】:2021-07-23 06:04:51
【问题描述】:

这是一个适用于 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>

【问题讨论】:

  • 您检查过设备上 Safari 的隐私设置吗?
  • 我认为这是默认设置。 “防止跨站点跟踪”已开启,但这不应该是跨站点的事情。
  • 标签是否在“新的私人窗口”中打开?如果是,则更改为“新窗口”,退出 safari 并重新打开并检查。应该是固定的
  • 这不是私人窗口。
  • @forresto 我可以使用您在 Safari 版本 14.1 (14611.1.21.161.5) 和 macOS 10.14.6 (18G9028) 上重现的步骤重现该问题。

标签: javascript safari local-storage privacy


【解决方案1】:

确认: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/ 在两个选项卡中进行了测试。状态按预期同步。

【讨论】:

  • 今天的更新好像没有修复。 (macOS 11.4,Safari 版本 14.1.1 (16611.2.7.1.4))。使用static-misc-3.glitch.me/localstorage-bug 测试
  • 天哪,谢天谢地,我找到了这个帖子。我已经开始怀疑自己了,因为我首先在我的 Web 应用程序中寻找错误。使用 Firefox 可以正常工作,这就是为什么我注意到 Safari 中的选项卡没有同步 localStorage 值。
  • 我们在开源 Web 框架 abp.io 中收到与此问题相关的错误报告。很高兴看到它与框架代码库无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
  • 2019-05-01
相关资源
最近更新 更多