【问题标题】:Persisting localStorage for WebView in macOS 10.11+在 macOS 10.11+ 中为 WebView 持久化 localStorage
【发布时间】:2017-12-08 08:37:33
【问题描述】:

我在我的 macOS 应用程序中嵌入了 WebView 并在其中加载了一个页面。当用户与页面交互时,更改存储在 localStorage 中(通过在 Chrome 中进行相同更改来确认),但在 macOS 上似乎 WebViews do not persist localStorage

较早的答案(几年前)表明使用私有 API,该 API 已被完全删除。真的没有办法在 macOS 中为 WebView 持久化 localStorage 吗?这似乎很疯狂。

【问题讨论】:

  • 我应该提到我不拥有正在显示的网站,因此我无法对其进行任何更改。它将数据存储在 localStorage 中。

标签: macos webkit local-storage


【解决方案1】:

由于我被否决了,我想我应该看看我是否可以改进我的答案。这里。这个问题似乎有一个解决方案: How do I enable Local Storage in my WebKit-based application?

没有帮助的旧答案:

以下线程有一个解决方法,可能会也可能不会解决您的问题: Javascript/HTML Storage Options Under File Protocol (file://)

它建议使用 window.name 来跨页面重新加载存储数据。这是不安全的,因为数据没有与您的框架隔离,并且可能会泄漏到其他框架/选项卡/域,但它可能会解决您的问题。

【讨论】:

    【解决方案2】:

    您始终可以为数据更改设置一个简单的 CoreData 存储并将其恢复到 ViewWillAppear 中的 WebView。

    还有this solution

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2021-05-20
      • 2021-10-01
      • 2012-06-27
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多