javascript - 使用后退按钮时停止服务人员表单重新提交表单

标签 javascript google-chrome back service-worker html5-history

当使用服务工作人员处理请求时,当我通过单击链接导航离开页面后点击后退按钮时,chrome 实际上会重新提交已提交的表单。

如果没有 Service Worker,Chrome 中的默认行为是显示提交表单时收到的响应的缓存版本。

通过使用 fetch() 处理请求的简单服务工作线程,当我点击后退按钮时,chrome 实际上会重播该请求。

是否有任何简单的方法可以使 Service Worker 的行为方式与 Chrome 默认情况下的方式相同?

一年多前尝试过同样的事情,然后我得出结论,这可能是一个错误,但由于它仍然是这样,我想它应该是这样的。

最佳答案

我在 Firefox 中的后退/前进导航中遇到了类似的问题。我发现最好的做法是嗅探 request.cache 参数中的“only-if-cached”或“force-cache”,并避免首先尝试获取。

some more documentation here about request.cache但它并没有真正正确记录对服务工作线程获取处理程序的传入请求的使用。

关于javascript - 使用后退按钮时停止服务人员表单重新提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43667405/

相关文章:

javascript - 订阅 JS Google map 中的数据

html - CSS 样式表不响应使用 chrome

php - Ajax:将表单恢复为初始值

JavaScript 和后退按钮

javascript - Jssor slider 不适用于 AngularJS

javascript - 将变量传递给数组列表

javascript - ionic ionic 导航按钮 ng-如果第一次加载不起作用

javascript - 当用户单击链接时如何加密数据并在新选项卡中打开 PDF

css - Chrome 开发者工具 : How to find out what is overriding a CSS rule?

Android 后退按钮和 MediaController