问题标签 [application-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ipad - 应用程序缓存:iPad 上的奇怪行为
我正在制作一个网站,用户可以在其中说出他想要缓存的项目。基于此,生成清单文件。通过这样做,用户在离线时仍然可以浏览网站。这在谷歌浏览器中一切正常。但在 iPad 上,它不能正常工作。有时事情会被缓存,有时不会,甚至我访问的页面也不会。
我们整个上午都在用两台 iPad 进行测试,但我们无法在两台 iPad 上得到相同的结果。即使我们完全一样,我们有时也会得到不同的结果。
所以我们做什么:
- 开启 WiFi
- 浏览网站
- 进行一些设置,以便将一些页面/图像/...添加到清单文件中
- 关闭 WiFi
- 返回 Safari 刷新/浏览应缓存的页面。
有时在一台 iPad(这是 iPad 1)上它完全可以正常工作,但有时它根本不工作。在另一台 iPad(这是 iPad 2)上,它永远不会完全正常工作。只是一些随机的结果。
当我们完全关闭safari,然后清除缓存,然后执行下载和缓存东西的整个过程时,看起来结果也有所不同......
有人可以帮我解决这个问题吗?此刻真是让人头疼……:(
html - Webapp 应用程序缓存更新
我有一个使用应用程序缓存进行离线和在线访问的 Web 应用程序。我遇到的问题是当我更改清单文件时,我的一些用户没有看到更新。它适用于我和其他人,所以我唯一的理论是某些 ISP 正在缓存清单文件。
有人遇到过这种情况么?
我不知道以编程方式刷新浏览器应用程序缓存以强制更新的任何方法。window.applicationCache.update() 似乎没有奏效(至少在 iPad 上)。向 URL 添加查询的常用技巧可能会破坏离线行为。
无奈之下,我可以简单地使用一个不变的加载器页面并将所有代码放在 localStorage 中并自己进行更新。
html - 在 GWT 托管模式下测试 html 5 应用程序缓存
我将开始编写具有离线功能的 GWT 应用程序。为了使用 html 5 的应用程序缓存功能,Web 服务器必须在清单文件中返回一个“filetype: text/manifext”标头。有谁知道我如何在 GWT 托管模式下返回此标头?
html - 未加载缓存清单
我想使用 html5 清单文件。缓存网站最重要的东西。我已经制作了一个清单文件并缓存了最重要的东西。我缓存了所有页面中使用的重要图像。我缓存了css文件。但这正在被打破。
这是我的清单文件:
但现在问题来了。当我打开页面时。第一次还好。但是当我第二次打开页面时。我未缓存的图像和项目。未加载。我该如何解决。
html - HTML5 ApplicationCache - 如何为缓存页面设置过期日期?
我希望在特定日期删除缓存的页面。怎么可能指定那个日期?就我而言,我需要为每个页面动态设置日期。
ios - 为 iOS 应用程序中的 UIWebView 预填充 HTML5 离线应用缓存
是否可以创建一个预先填充了 HTML5 离线 appcache 的 UIWebView,以便即使用户第一次访问 UIWebView 也可以离线工作?
如果是这样,怎么做?
我知道我可以通过其他机制来实现这一点,但以上是我的首选。我只是很好奇这是否可能。
我在文档中没有看到任何关于它的内容。
html - 即使清除了 Firefox 中的所有内容,缓存页面仍保留在存储中
即使清除了 Firefox 中的所有内容,缓存页面仍保留在存储中。我有 firefox 7.0.1,即使在我清除缓存然后刷新使用 html5 应用程序缓存的页面之后,旧页面正在加载,这不应该是理想的情况,而且这只发生在 ff 中,而不是在 chrome、opera 中
ipad - ipad 上的缓存清单
我有一个ipad。我制作了一个带有 html5 应用程序存储的网站。带有清单文件。清单适用于新的 ipad 2 和所有网络浏览器。但它不适用于 iOS 版本较低的 ipad 2。
问题是。当我加载页面时。清单文件正在缓存网站。我打开飞行模式。现在我可以在没有互联网连接的情况下使用该网站。
但问题是。当我现在重新加载页面时。我收到一个错误,我需要互联网连接才能查看该页面。我怎样才能解决这个问题。这个问题在 safari 中。
html - HTML5 - 缓存清单在 Chrome 上运行良好,但在 Firefox 和 Opera 上不可用
我正在开发一个供离线使用的网络应用程序,因此我需要使用应用程序缓存功能。
在 Chrome (15.0.874.106) 上一切正常,但在 Firefox (7.0.1) 和 Opera (11.52) 上不起作用。
这是我的缓存清单文件cache.manifest.php
(我已将其减少到最低限度):
这是“主”HTML 文档的前 4 行:
当我尝试将缓存清单(http://www.myapp.com/app/mobile/cache.manifest.php)加载到浏览器中时,文件会正确显示,但是当我尝试离线加载页面时,我得到了“无法连接”错误页面。同样,这只是发生在 Firefox 和 Opera 上。
Firebug 说“ 0 items in offline cache
”,我没有找到检查 DragonFly 上的应用程序缓存的方法。
我很生气,我不知道如何在 Firefox 和 Opera 上有效地调试问题。请帮忙。
谢谢,丹
iphone - 在 iOS 和全屏应用程序模式下使用离线应用程序缓存,它会在 Safari 中打开其他页面而不是应用程序
我正在用 HTML5 构建一个离线平板电脑/手机应用程序,以在没有手机信号塔的地方远程收集数据。它使用离线应用程序缓存清单将页面保存到浏览器中。我试图让它在 Safari 和 Android 中工作。
目前我的网站有多个单独的网页(index.html、load.html 和 sync.html)。我希望能够在每个页面加载后加载每个页面并运行不同的 javascript。
最初我有一个主索引页面(它充当应用程序的引导程序),并在单击菜单按钮时使用 jQuery 的 .load() 函数将不同的页面文件(仅 html 片段)加载到主显示 div 中。这在 iPhone 上运行得很好。但是,当在 Android 上尝试它并且站点已经被缓存并且设备处于飞行模式,因此它无法连接到服务器时,由于某种原因,该页面将无法从外部页面加载 HTML,所以我会得到一个空白屏幕。从缓存加载页面时,我将其缩小到 jQuery 的 .load() 函数在 Android 中失败。
因此,我尝试将各个页面分开,并在每个页面上镜像所有 HTML、JavaScript、CSS 包含和标头代码(效率不高)。所以每个页面都可以独立运行。当按照简单的 href 链接加载其他页面时,这在网络浏览器中的 Android 和 iPhone 中运行良好。但是,当我在 iPhone 上进入应用程序模式时(即,您将网页保存到主屏幕,使其显示为实际的应用程序图标,然后您从那里运行它,除了状态栏外,它几乎全屏显示)然后单击菜单图标加载 sync.html 例如,它会在 Safari 中打开页面,而不是停留在全屏“应用”模式中。
有没有办法打开应该在 iPhone 上的全屏“应用”模式下缓存的单独网页?我不希望其他页面加载 Safari,因为屏幕尺寸较小。
我能想到的唯一其他方法是将所有 html 片段隐藏在主索引页面上的 div 中,然后根据单击的菜单按钮显示和隐藏 div。这可能看起来更干净,更快,但只是想知道是否有更好的方法来做到这一点?