在 macOS 10.11+ 中持久化 localStorage for WebView



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

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

您始终可以为数据更改设置一个简单的 CoreData 存储,并将其还原到 ViewWillShow 中的 WebView。

还有这个解决方案。

由于我被否决了,我想我应该看看我是否可以改进我的答案。 这里。这个问题似乎有一个解决方案: 如何在基于 WebKit 的应用程序中启用本地存储?

没有帮助的旧答案:

以下线程具有一种解决方法,可能会也可能不会解决您的问题: 文件协议 (file://) 下的 Javascript/HTML 存储选项

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

最新更新