【问题标题】:Electron WebView Back Button clearing formElectron WebView 后退按钮清除表单
【发布时间】:2017-06-08 04:48:05
【问题描述】:

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

【问题讨论】:

    标签: webview electron browser-cache back


    【解决方案1】:

    不清楚。

    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 used510340 Investigate faster back/forward page navigation)。虽然我在实践中看到 BFCache 可以在 Chrome 中使用。

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

    更多信息请查看:

    【讨论】:

    • 感谢您的回答,这加强了我对此的看法。我开始使用 localstorage 编写自己的代码测试,但在关闭浏览器时将使用 sessionStorage 进行清除。当然有解决方案,因为用 Electron 编写的 Brave 浏览器与使用后退按钮恢复表单状态的 chrome 具有相同的行为......无论如何,在花了足够的时间后,我选择了解决方案..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多