gpt4 book ai didi

iOS Mobile Web App(通过将页面保存到主屏幕)离线可用性

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:40 24 4
gpt4 key购买 nike

我正在尝试使页面移动网络应用兼容,以便在 iOS 设备上离线使用。我已将移动网络应用兼容的元标记添加到文档的头部,并指定了一个包含页面所有资源的 cache.manifest 文件。

我可以看到 cache.manifest 文件被权威地用于加载页面资源(即在控制台中,当我第一次清除/加载 list 时,以及在后续页面加载时,我可以看到资源被保存到设备我可以看到在 window.applicationCache 上触发了“noupdate”事件。

尽管如此,当我在我目前正在测试的 iOS 设备(iPad 第二代,运行 iOS 8.3)上关闭 WiFi 时,我立即收到一条消息说无法加载页面,因为找不到服务器,此消息上的唯一选项是重试(导致相同的错误)或关闭移动网络应用程序。

即使出现此错误,我也可以看到通知背后的页面加载,因此很明显资源仍在从应用程序缓存中获取,但正如我所说,“无互联网”消息似乎在任何类型的应用程序之前触发发生缓存交互。

任何人都可以建议我如何抑制此“离线错误”消息,或修复 cache.manifest 以使其按预期工作,从而允许我使用保存到主屏幕的移动网络应用程序,而无需连接上网?

最佳答案

注意:iOS Safari 和桌面版 Safari 不支持 Service Workers 技术,也没有明确的路线图。

从 03/2016 开始 service workers have better browser支持(Chrome、Firefox)我建议将此功能与 manifest.json 结合使用。

对我来说,提供完整离线体验的是 sw-precache .您可以将其设置为构建任务(Gulp、Grunt)或手动运行。因此,网络应用加载 UI 即使 wifi 提前关闭也是如此。

主要部分是添加正确的静态文件掩码 - 检查 writeServiceWorkerFile 函数中的 staticFileGlobs 属性,如下所示:

 staticFileGlobs: [
rootDir + '/css/**.css',
rootDir + '/',
rootDir + 'index.html',
rootDir + 'index.html/#/home',
rootDir + 'index.html/#/offline',
rootDir + '/img/**.*',
rootDir + '/js/**.js',
rootDir + '/locales/**.js'
],

关于iOS Mobile Web App(通过将页面保存到主屏幕)离线可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29610385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com