使用后退按钮时停止服务工作者重新提交表单

时间:2017-04-27 20:32:08

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

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

如果没有服务工作者,chrome中的默认行为是显示我在提交表单时获得的响应的缓存版本。

对于一个只使用fetch()处理请求的简单服务工作者,当我点击后退按钮时实际上会重放请求。

是否有任何简单的方法可以使服务工作者默认采用chrome的方式?

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

1 个答案:

答案 0 :(得分:0)

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

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