【问题标题】:How to recover from offline.html after network re-connects网络重新连接后如何从 offline.html 中恢复
【发布时间】:2020-06-19 14:47:07
【问题描述】:

我使用服务工作者模式,如果网络断开连接,该模式会返回一个 offline.html。
它运行良好:程序加载初始页面 my_site.html。
在整个程序中,网络断开,服务人员检测到这一点并加载了offline.html页面:
当 service worker 返回 offline.html 页面时,Javascript 使用window.location.href = response.url; 重新加载页面并将地址栏更改为 offline.html。

但是,一旦网络重新连接,用户如何恢复原始 html 页面? 自然,用户将刷新/重新加载页面。但是这个操作会一直要求最后一个地址(offline.html)
但是用户希望看到原始页面:my_site.html ?

谢谢,
阿夫纳

【问题讨论】:

    标签: javascript service-worker


    【解决方案1】:

    navigator.onLine 属性在用户在线时提供一个布尔值。

    if (navigator.onLine) { // true / false
        // redirect user
    }
    

    【讨论】:

    • 这已经在工作,而不是问题。我的问题是在 javascript 文件中做什么,而不是在服务人员中......重新加载会更改地址栏,因此当用户刷新页面时,即使网络恢复,他也会被提供 offline.html 页面
    • 抱歉,我不明白这个问题。你能显示一些代码吗?
    【解决方案2】:

    解决方案是替换页面内容而不使用window.location.href = ...,这会强制重新加载页面并更改地址栏。
    here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 2016-12-23
      相关资源
      最近更新 更多