Electron WebView 后退按钮清除表单

Electron WebView Back Button clearing form

我想在我的 Electron 应用程序中向我的浏览器窗口添加后退和前进导航按钮,但是尽管使用 Firefox 和 chrome 当我们使用后退导航时,任何表单输入都会使用 Electron webview 使用缓存数据重新加载goBack() 函数每次都清除这些。是否有任何设置、选项或保留数据的方式....

不清楚。

Electron documentation 没有明确说明 Electron 是否实现了所谓的 BFCache 或 HistoryLists。 Electron 源代码也不清楚。我在 Github.

上创建了相关 issue

Electron 使用 Chromium 实现 BrowserWindow。 BFCache 和 Chromium 本身的情况不是很清楚。有多个问题表明 BFCache 未在 Chromium 中实现 (455226 Chrome reinitializes all fields to the value they had on their initial presentation when history back is used, 510340 Investigate faster back/forward page navigation)。虽然我在实践中看到 BFCache 在 Chrome.

中工作

您可以使用 JavaScript、sessionStorage 和 window 加载和卸载事件来保存和恢复表单状态。但在这种情况下,您还需要一种机制来清楚地识别 input 节点并存储序列化文件,以防表单包含文件输入。

更多信息请查看: