我已经在我的macOS应用程序中嵌入了一个WebView
并在其中加载了一个页面。当用户与页面交互时,更改会存储在 localStorage 中(通过在 Chrome 中进行相同的更改来确认),但WebView 似乎不会在 macOS 上保留 localStorage。
早期的答案(几年前)表明使用私有API,该API已被完全删除。真的没有办法在macOS中为WebView持久化localStorage吗?这似乎很疯狂。
您始终可以为数据更改设置一个简单的 CoreData 存储,并将其还原到 ViewWillShow 中的 WebView。
还有这个解决方案。
由于我被否决了,我想我应该看看我是否可以改进我的答案。 这里。这个问题似乎有一个解决方案: 如何在基于 WebKit 的应用程序中启用本地存储?
没有帮助的旧答案:
以下线程具有一种解决方法,可能会也可能不会解决您的问题: 文件协议 (file://) 下的 Javascript/HTML 存储选项
它建议使用 window.name 在页面重新加载时存储数据。这是不安全的,因为数据没有隔离到您的框架,可能会泄漏到其他框架/选项卡/域,但它可能会解决您的问题。