问题标签 [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:使用清单回退检查用户的连接性
我目前专注于使用 HTML5 的离线 Web 应用程序。我到了需要一种可靠的方法来检查用户的连接以确定他/她目前是在线还是离线的地步。因为我了解到 navigator.onLine 属性非常不可靠,所以我找到了一个非常好的方法,使用缓存清单的后备区域。我从两本不同的书中实现了两种类似的解决方案,一本是“介绍 HTML5”(Lawson/Sharp),另一本是“HTML5:缺失的手册”(MacDonald)。我想这是 HTTP 缓存的问题(我使用 Apache 和 localhost),我对此不太了解。我粘贴了我的代码,它是一些文件,但代码很少。
来自介绍 HTML5 的改编解决方案:http: //pastebin.com/UGsmnAtK
来自 HTML5 的改编解决方案 - 缺少的手册: http: //pastebin.com/8v5ck3E6
用 Chrome 16 测试...
=== 我想要的 ===
- 使用空缓存启动应用程序并运行 apache
- 单击按钮-> 显示警报“在线”
- 停止阿帕奇
- 单击按钮-> 显示警报“离线”
- 启动阿帕奇
- 单击按钮-> 显示警报“在线”
===会发生什么===
介绍 HTML5 解决方案: - 使用空缓存启动应用程序并运行 apache - 单击按钮 -> 显示警报“在线” - 停止 apache - 单击按钮 -> 显示警报“在线” - 启动 apache - 单击按钮 -> 警报显示“在线”
HTML5:缺少的手动解决方案: - 使用空缓存启动应用程序并运行 apache - 单击按钮 -> 显示警报“在线” - 停止 apache - 单击按钮 -> 显示警报“在线” - 启动 apache - 单击按钮-> 显示警报“在线”
其他场景和用例以类似的方式失败。这些书承诺您可以随时使用他们的方法检查用户的连接。所以我想我在这里做错了什么。谢天谢地,我会接受关于这个话题的任何想法。
干杯,菲利克斯
android - Android:语音转文本和语音识别离线
我被困在我的一个离线 Android 应用程序中,我需要离线语音识别和语音转文本 API。
如果有人从事离线语音到文本和语音识别的工作,请分享您的观点和意见。
iphone - iphone 离线网络应用缓存不起作用
我正在为 iphone 开发一个离线网络应用程序。我已经创建了应用程序并进行了测试,它除了一个功能外工作正常,它没有被缓存。
我已经创建了清单文件,并用 fiddler 检查了是否输入了正确的 mime 类型,一切似乎都很好,当我关闭数据和无线网络连接时,应用程序无法打开。
有人知道这个问题吗?
谢谢阿里安
javascript - 当 WebSQL 被弃用时,如何与 HTML5 离线应用相处?
由于 WebSQL 已经失去了所有的支持并且停止了开发,人们如何能够在使用 HTML5 的 Web 应用程序中实现离线存储。我知道 Google Chrome 和 Safari 仍然将它作为浏览器的一部分,但我想它很快就会丢失。那么哪些技术正在取代它,以及需要实现哪些不同的东西才能拥有离线应用程序而不是使用 webSQL?
html - HTML 5 离线存储缓存清单不适用于移动设备
我为移动设备创建了一个网络应用程序,我希望我也可以离线使用它。我使用清单文件,它可以在桌面浏览器上正常工作,但不能在移动浏览器上工作。问题是什么?提前致谢...
html - html5 appcache 加载顺序
我正在创建一个包含许多视频/大图像的应用程序,它将使用 appcache 来处理它们的预加载。
有没有办法让我控制这些资产的加载顺序?例如,我想在子页面上加载主页上的大图像/视频。我已经尝试按照我希望它们在 appcache 清单中加载的顺序列出文件,但这似乎没有什么不同。
html - HTML5 离线/在线应用
我在 html5 中构建了一个小型 todo 应用程序。到目前为止工作正常,但我有一个问题:如果用户访问http://www.mydomain.com/他会被提示登录。如果他登录/提供不同的模板 -> 我的主应用程序模板。另外,为会话处理设置了一个 cookie。
现在他可以添加/删除/编辑他的待办事项。当他在线时,待办事项会保存在服务器上。我还为我的站点添加了缓存清单,并在他离线时使用本地存储来保存他的待办事项。到目前为止,这工作正常。
我的问题:如果用户在线并将自己从站点注销,并且服务器不再提供主应用程序模板,则浏览器将使用站点的离线版本。但他应该只在浏览器离线时使用它,而不是在服务器在同一路径上发送另一个模板时使用。
有人给我提示吗?提前致谢!
javascript - html5 appcache 添加/删除特定文件
假设我有一个简单的 appcache 清单,如下所示:
然后我使用一些服务器端方法将清单更新为:
然后调用一个函数客户端来更新appcache:
我想将我的新图像“添加”到现有缓存中,而无需再次下载所有内容(这是当前正在发生的事情)。这是可能的还是我错过了一些基本的东西?
facebook - 无限访问令牌*无需*要求用户“允许访问” - 以响应 Facebook 弃用 offline_access
这是一种常见的情况,但我看不到很多人发帖。假设我有一个网站 example.com,它从 Facebook 页面加载事件列表。要求用户“允许访问”网站只是为了让他们可以看到事件列表,这将是一种糟糕的用户体验。
因此,我所做的是通过 Graph API Explorer (https://developers.facebook.com/tools/explorer) 生成具有离线访问权限的访问令牌。这给了我一个无限的(只要用户不更改他们的密码等)访问令牌。完美的。
不过,很快,Facebook 将弃用 offline_access。是否有任何方法可以继续在我的网站上显示此事件源,而无需用户允许访问(这将刷新访问令牌)?
javascript - 构建一个backbone.js 应用程序
我有一个带有多个模型、视图、集合和模板的主干.js 应用程序(在一个带有文本/模板类型的脚本标记中,其 ID 视图用于加载模板使用 _.template($(id).html( )))。
目前,以上所有内容都在一个文件中,这使得它非常难看。这是一个离线应用程序(即,它从本地文件系统加载并与允许跨域请求的 Web 服务器通信)。我一直在试图弄清楚如何将视图、模型和模板移动到单独的文件中,我尝试将视图和模型移出到 views.js 和 models.js,但视图取决于模板和模板不能放入views.js(因为它是一个JS文件,因此不能有脚本标签..)。
在这一点上,我唯一的解决方案似乎是将模板移动到全局变量中,这很好,除了需要的 javascript 字符串转义/多行字符串。
这通常是如何处理的?
谢谢!