问题标签 [offlineapps]
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.
html - HTML5 appcache - 让应用完全离线
我有一个 chrome webstore 应用程序,我在其中使用 appcache 从缓存中加载资源。我已经在使用 localStorage 来离线获取数据。
使应用程序脱机工作的问题是,如果我重新加载页面(脱机时),浏览器会检查清单,并且由于它无法访问清单 uri,因此我在控制台中收到错误消息。而已。在这一点之外没有任何事情发生。该页面不呈现任何内容。
我不确定是否有办法解决这个问题(阻止浏览器在页面重新加载时检查清单)。无论如何,我想知道 - 这是让您的资产缓存并离线使用的唯一方法。数据不是问题;但是没有资产(主要是 JS),事情一动不动。
如果有人能建议/指出我正确的方向/方法,即使在页面重新加载/刷新时也能拥有一个功能齐全的离线应用程序,我会很高兴。
html - HTML5 appcache 清单文件扩展名
我从HTML5 Boilerplate 中读到了这一行:
我从http://html5.org/r/5812看到了这个
这是我的问题。什么是Microsoft 未注册的应用程序/清单类型,何时发生冲突?
html - Chrome/FireFox 不显示脱机页面的更新
我正在使用 HTML5 applicationCache API,但在查看缓存页面的更新时遇到问题。我负责基本的工作——更改清单文件,确保清单没有缓存在客户端上,并在下载新版本的缓存页面后重新加载页面(在 onupdateready 事件之后)。
我知道 Chrome 和 FireFox 支持 applicationCache API,但我只能在 Opera 和 Safari 中看到所需的行为(更新清单后缓存页面的变化)。
因此,如何确保在 Chrome 和 FireFox 中可以看到页面的最新缓存版本?
这是我的 HTML/JavaScript (index.htm):
这是我的清单(manifest.aspx):
我的清单是一个 ASPX 文件,但Content-Type设置为text/cache-manifest
并且Encoding设置为utf-8
.
javascript - 在 webapp 下线时处理销售交易
我的 Web 应用程序(销售点)处理多个分支机构的销售。每个销售都有一个唯一的整数 ID。分支 1 上的某个销售 ID 是n,那么分支 2 上的下一个销售是n +1。
当一家分店失去互联网连接时,我将销售信息保存在浏览器内部数据库中,其中销售 ID 是最后一个销售 ID 加一。恢复连接后,我将该信息发送到服务器,然后将其存储在真实数据库中。
当两个或更多分支机构失去互联网连接时,噩梦就会发生。因为当他们进行离线销售并且互联网恢复时,服务器将收到两个具有相同 ID 的销售,这太可怕了,因为客户票已经打印了!
我现在的计划是让每个销售 ID 混合分店 ID 和该分店的实际销售编号。因此,分支 1 的销售 ID 将是1-1,分支 2 的下一个销售将是2-1。听起来不错,直到一个分支有两个销售点,但事实并非如此,但它不是很有未来的证据。
你认为最好的方法是什么?有没有更好的方法来做到这一点?
cross-platform - 通过 Appcelerator Titanium 获取 sproutcore 应用程序文件以在本机应用程序中使用它们
我想使用 sproucore 框架构建一个应用程序,但我也想将它与 Titanium 集成以具有一些桌面功能,如文件系统、打包、离线工作等......
我知道使用 sproutcore 2 这将非常容易,因为它允许像使用普通 javascript 库一样使用框架。但是该项目仍处于测试阶段,并且文档最多不完整(实际上,我认为即使是 1.x 文档也不完整)。
所以,我想问一下,集成 sproutcore 和 Titanium API 的最佳方式是什么?
html - 缓存清单大小限制和 Web 应用程序
我正处于编写应用程序的计划阶段,仍在选择我希望用来编写应用程序的技术。最初的想法是编写一个网络应用程序,但这有(有?)无法离线查看的缺点。然后我发现了缓存清单,这可能看起来像是一个答案。
但是,从第一点开始,缓存清单似乎存在大小限制。我找不到每个浏览器的大小限制的完整列表,所以我无法判断它是否完全使人衰弱(尽管我认为可能是)。我希望该应用程序可以运行的浏览器是 Firefox、Chrome 和移动 Safari 浏览器(也就是说,它必须在 iPad 上运行)。
我的理解是,在大多数情况下,总缓存限制约为 5MB(因浏览器而异),但这不足以满足我的需求。我希望离线存储所有用户的在线数据。这包括上传的文件(PDF、图片)以及使应用程序实际运行所需的内容。在我见过的任何示例中,缓存清单仅用于缓存离线内容,例如 html、css、javascript 和网站的图像资源。是否适合离线存储用户上传的PDF?
如果这个问题的答案是否定的(我担心可能是这样),还有其他解决方案吗?或者浏览器中的“适当”应用程序——即具有合理空间要求的应用程序——目前完全不可行?我们还在等待浏览器赶上发展的要求吗?
编辑:补充一点,我知道 HTML5 规范中对 Cache-Manifest 没有限制,但实现似乎都限制了它,这会影响我尝试编写的任何内容。
.net - 独立的 MVC3 网络应用程序?
我不想走 Silverlight/WPF 路线,而是想用 MVC3 作为后端在 HTML5 中构建我的(单用户)应用程序。这可能吗?将其用于独立的桌面应用程序是否可能或实用?
我可以在 IIS 中设置它然后离开,但这不是我的想法 - 它不可移植,需要一个固定的目录,而且我不能在不安装 IIS 的情况下在任何地方启动我的应用程序!
html - HTML5 缓存:我真的对这个 NETWORK 部分感到困惑
据我了解,网络部分包含始终需要通过网络连接访问的资源。
对于我的应用程序,我有两个主页:index.html 和 gallery.html
gallery.html 是引用清单文件的文件,在同一个清单文件中,我编写了以下内容:
但是,如果我在联机时访问 index.html,然后在脱机时访问它,我可以看到 index.html。
所以它似乎是从传统缓存加载的(不是离线应用程序)
这个 NETWORK 部分有什么意义?这真的很令人困惑:(
谢谢你们的时间。干杯!
html - HP TouchPad 是否支持 HTML5 的离线应用(Manifest)
我有一个使用离线支持的 webapp(清单文件)。它可以在 Android、iOS、RIM 以及其他一些设备上正常工作。
但它不适用于触摸板。如果我在没有连接的情况下刷新应用程序,我会收到“无 Internet 连接”错误。有没有人有一个清单文件可以在触摸板上工作?
这是我的代码的一部分:
我的主要 HTML 文件:
清单文件(作为 text/cache-manifest mime 类型发送):CACHE MANIFEST
couchdb - 我可以使用 CouchDB mobile 代替 localStorage 吗?
我有一个离线运行的现有网络应用程序(使用 HTML5 缓存清单)。
我将数据存储在 localStorage 中。我将达到 localStorage 的 5Mb 限制。我可以将 CouchDB 用作本地数据库,有效地将 localStorage 替换为 CouchDB 实现吗?
我不想在任何服务器上安装 CouchDB,我只想利用客户端存储功能来替换我的 localStorage 实现。
是否像下载相关的 couchdb.js 文件并更改我的客户端持久性代码一样简单?
谢谢