问题标签 [offline-caching]

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.

0 投票
1 回答
2079 浏览

html - 现代 Web 应用程序的离线和套接字选项是什么?

所以我一直在考虑构建一个相当复杂的应用程序。构建 html5 版本的想法已经成为一种非常有吸引力的可能性。不过,我首先有几个问题。

我首先关心的是目前离线应用程序 API 的可靠性。我一直在研究这个标准: http: //www.whatwg.org/specs/web-apps/current-work/multipage/offline.html它看起来很容易实现和使用,但我想知道它有多容易是用吗?假设您设置了清单等,Web 应用程序是否只是通过转到您最初下载应用程序的相同 url 访问(离线)?

我的另一个问题是套接字的使用。这个离线应用程序仍然需要能够与本地服务器通信,理想情况下我希望避免托管 Web 服务器,但是套接字连接是合理的。当浏览器离线时,websockets 目前的工作情况如何?即使没有活动的互联网连接,是否有可能运行完全联网/交互式浏览器应用程序?(首次下载应用程序后)

任何见解都会很棒!

0 投票
1 回答
2868 浏览

html - HTML 5 缓存清单是否也适用于 ajax 请求?

我正在尝试让 HTML 5 离线应用程序缓存与 ASP MVC 3 网站一起使用。我遇到的问题是,当我尝试在脱机模式下导航到页面时,它不起作用。

我正在对清单文件使用一个操作,以便可以动态生成它,并在视图中指定 Resonse.ContentType = "text/cache-manifest"。

我已经在 IIS 中本地托管了应用程序,所以我使用http://192.168.55.127/mywebsite/来访问它。

这是我正在使用的清单视图。它使用剃刀视图引擎,并且在我试图找出问题所在时有点混乱(硬编码的 URL 等)。

这会产生如下路径:

这似乎很好。

我也使用完整路径引用了清单文件:

这似乎没问题,因为当我在 chrome 中加载网站并观察开发人员控制台时,它似乎缓存了所有文件而不会引发任何错误。此外,如果我导航到http://192.168.55.127/mywebsite/manifest ,它会提供我希望看到的清单。

该网站不使用普通导航,而是使用哈希片段进行导航 - 因此导航到主页的 url 将是 master.htm#home 或者对于选项它将是 master.html#options。此哈希更改由 javascript 获取,并使用 ajax 将页面加载到主服务器中的 div 容器中,更具体地说,它使用 jQuery 中的“加载”方法来执行此操作。

这一切在不处于离线模式时工作正常,并且在导航时观察 chrome 中的网络选项卡时,请求 URL 是正确的,并且与清单文件中列出的 URL 相同。我唯一能想到的是离线模式不适用于ajax请求,但我的印象是它的工作原理相同。

我正在使用 FireFox(9.0 版)测试离线模式,方法是清除所有历史记录、浏览网站主页、启用离线模式,然后尝试导航到选项页面。在萤火虫中,我看到选项页面的正确 URL 的 GET 请求,但它永远不会返回,甚至不会出错。加载轮(在 firebug 的 net 选项卡中的请求旁边)一直在转动,就好像它仍在加载一样。我也在 Opera 11.60 中尝试过(因为它也有离线模式)并且发生了同样的事情。

有人对我做错了什么有任何想法吗?我是否遗漏了一些明显的东西或误解了清单应该如何工作?任何建议将不胜感激。

0 投票
1 回答
333 浏览

html - HTML5 offline strange behaviour

I am having a problem with a web app that I'm working on and I have posted a question here which is a bit vague and probably not very helpful. I have decided to create a really basic site and build it up to be like the main app and see where it breaks. I have done this and got stuck straight away with the offline caching.

This is a basic 3 page static website hosted locally in IIS 7.5. I created the folder c:\inetpub\wwwroot\ManifestTesting, added it to IIS as a web application and added a new MIME type of text/cache-manifest for the .appcache extension. I am also using FireFox 9.0 for testing as this has an offline mode feature.

I created 3 html pages and added them to the ManifestTesting folder:

  • index.htm - this page contains 2 links to page1.htm and page2.htm
  • page1.htm - just contains a header that says page 1
  • page2.htm - just contains a header that says page 2

So now if I browse to http://localhost/manifesttesting if get the index page and can navigate to the 2 pages.

I then created a file called manifest.appcache and added it to the ManifestTesting folder:

and added the reference to the manifest file in the index.htm:

So if I clear all history and browse to the index.htm, FireFox asks if I want to allow the website to store data for offline use. I click allow, switch the browser to offline mode then attempt to navigate to page1.htm which works fine! So all is good so far.

Now for the bit that I don't understand. I then created a new folder in the ManifestTesting folder called 'pages' and moved page1 and page2 into it. I updated the links in the index to reference the new location and if I browse the website without the manifest reference, it all works fine just as before. I then re-reference the manifest file in the index and update the manifest to be like:

I then clear history, refresh, firefox asks to allow the website to store offline data, enable offline mode and then attempt to navigate to page1 - it doesn't work! FireFox tells me it's in offline mode and can't browse the web!

What am I doing wrong?

0 投票
1 回答
225 浏览

javascript - 对 html4 和 html5 使用 YUI3 离线缓存

我一直在寻找我的问题的答案。我正在使用 YUI3 开发一个 web 应用程序,我需要使用离线缓存,问题是;如果有人使用不支持 html5 的旧式浏览器访问我的 YUI3 离线缓存会怎样?如果 YUI3 离线缓存只支持 html5 支持的浏览器,我可以用什么来支持每个浏览器的离线缓存?

只是为了说明我只会使用 YUI。

0 投票
2 回答
310 浏览

html - 仅适用于媒体的 HTML5 应用缓存

我想缓存 javascript 库和其他静态资产 - 但没有任何 HTML。

我印象中

会做这项工作。无论如何它都会缓存html。请指教。

0 投票
1 回答
1229 浏览

ios4 - 设备离线时使用 NSURLConnection 缓存

在 NSOperation 子类中,我使用以下代码从我们的服务器下载 xml 文件,然后再对其进行解析:

我第二次发出相同请求时,服务器返回 HTTP 304,缓存的响应数据存储在receivedData. 到目前为止,一切都很好。

我的问题:设备离线时是否可以获得相同的缓存响应

0 投票
3 回答
183 浏览

flash - 没有互联网运行的网站?

allaboutrajini 站点告诉您停止 Internet 连接以进入该站点。我想它决定了连接是使用 javascript 还是诸如 gmail 和 qoura 之类的东西打开或关闭。

但是他们怎么能在这么短的时间内在浏览器本地存储这么多的 Flash 动画内容呢?

0 投票
2 回答
453 浏览

html - 有哪些方法可以在网络应用程序中离线存储数据

我需要一个离线缓存系统,我的应用程序可以在其中存储大约 0.5 MB 的数据。最好是用户不需要交互,但少量的用户交互可能是可以接受的

目前,微软的 Silverlight 被用于离线存储数据。它是插件的大量下载,并且在大多数机器上都没有作为标准安装。

我一直在考虑饼干——但它们太不稳定了。我可以想象有人可能会清除浏览器缓存并丢失所有数据的多种原因。

我不确定 HTML 5 存储,以及它在实践中的易失性。

我一直在研究闪存,它安装在超过 97% 的 Windows 计算机上。看来我可以从用户选择的文件中加载数据,并将数据保存到用户选择的文件中。

我的问题...

  1. Windows 的 microsoft silverlight 插件下载(以 MB 为单位)有多大?(我想大约8mb,但没有从互联网上得到明确的答案)

  2. 用户如何意外(或故意没有意识到后果)清除他们在普通浏览器上的 HTML 5 存储?

  3. 有没有办法让闪存在没有用户交互的情况下从本地文件存储加载数据?

  4. 还有其他我没有考虑过的选择吗?

0 投票
1 回答
818 浏览

html - 在 Phonegap 应用程序中查看附件(PPT、PDF、DOC)的最佳方式是什么?

我一直找不到合适的 Phonegap 包装移动应用程序示例,这些应用程序包含指向常见文件附件的链接并显示它们是如何处理的。例如,在 iPad 应用程序上,查看器能够容纳 PDF 和 PPT,但是用户被踢出他们的应用程序体验(没有返回按钮)。

你是如何应对这些挑战的?

0 投票
1 回答
1119 浏览

html - HTML5 离线认证安全问题

我正在使用 HTML5 做一个移动 WebApp。我的问题是,据我了解,HTML5 应用程序缓存缓存的“登录后”页面仍然不安全。有解决办法吗?确保离线身份验证对入侵者隐藏用户/通行证和“登录后”页面的最佳方法是什么?