标签: offline-caching

在android中使用mapsforge的离线地图

我如何在android中实现离线地图.我用mapsforge库试了一下.它不为威斯康星州提供二进制映射文件.那么如何创建自己的地图二进制文件?

提前致谢.

android map offline-caching

5
推荐指数
1
解决办法
1万
查看次数

UIWebView在哪里存储HTML5脱机文件?

如果我在iOS应用程序中从UIWebView保存了一些HTML5离线内容,它会在哪里保存?我的应用可能访问的本地任意位置?

html5 uiwebview offline-caching ios

5
推荐指数
1
解决办法
589
查看次数

如何使用Breeze.js和HTML5本地存储实现具有脱机功能的单页应用程序

我使用Breeze.js进行数据访问的单页应用程序.它使用Breeze.js对本地缓存执行查询,并且在启动时仅请求一次数据.之后仅在服务器上回发数据更新.

我正在寻找一个解决方案,使应用程序连接意识到.如果移动设备没有互联网连接,则将使用Breeze.js和HTML5本地存储在本地保存更改.当移动设备重新联机时,更改将与远程数据存储同步.

任何指导如何实施该要求?谢谢

html5 synchronization offline-caching single-page-application breeze

5
推荐指数
1
解决办法
4488
查看次数

jQuery Mobile的离线/在线数据库身份验证/同步

情况:我有一个数据库和一个互动的网络应用程序,用于显示和更新科学数据表.我的任务是构建一个允许用户使用的移动应用程序

  1. 为跟踪目的进行身份验证和识别自己离线(使用存储在缓存中的预定义但动态的用户帐户和权限)
  2. 下载现场工作识别数据(可上网)
  3. 在现场制作和存储观察(无法访问互联网)
  4. 稍后将观察结果同步到在线数据库中

问题:对于管理此类应用程序而不依赖于一致的互联网访问,进行身份验证/下载/存储/上传必要数据的最佳方法是什么?如果两个人调整相同的读数,并且在同步之间发生一次更新,我如何跟踪哪些表和值已被更改,并防止更改丢失?

当前的思路:我目前关于碰撞控制的暂定策略是维护一个"同步"表,该表存储代表存储在sessionStorage中的每个在线数据库事务的JSON对象,并让应用程序在上传数据之前不断验证其同步,并检查此对象对特定主键更新的潜在冲突.我希望能够在编辑阶段锁定元组,但由于互联网访问不一致,这似乎是不可能的.

对不起,如果这是一个新问题,我是整个移动应用程序开发的新手......

tl; dr如何防止数据库的异步更改从进行和离线的移动应用程序覆盖/与另一个人对同一数据库的更改发生冲突?我如何验证没有网络连接的用户?

jquery html5 session-storage offline-caching jquery-mobile

5
推荐指数
1
解决办法
2851
查看次数

添加cache.manifest时,AngularJS/PouchDB应用程序停止与CouchDB同步

我有一个使用AngularJS编写的单页Web应用程序.它使用PouchDB复制到CouchDB服务器并且工作正常.

当我尝试通过添加cache.manifest将网页转换为可脱机时,问题就来了.突然间,所有复制任务都会抛出错误并停止工作,无论是脱机还是在线工作.

在Chrome中它只是说"GET ... myCouchIP/myDB /?_ nonce = CxVFIwnEJeGFcyoJ net :: ERR_FAILED"

在Firefox中它也会抛出错误,但提到请求被阻止 - 尝试启用CORS.

根据PouchDB设置页面的说明,在远程CouchDB上启用CORS.另外,它没有使用cache.manifest工作正常(即它对我的桌面,服务器和VM之间的所有不同的IP地址非常满意 - 它是原型,因此此时没有域名).

顺便说一句,此时我没有使用任何类型的身份验证.管理员方生效.

那么在添加cache.manifest时会发生什么变化?线索感激不尽.提前致谢.

app.js

var app = angular.module('Assets', ['assets.controllers', 'ngRoute']);

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
    when('/', {
        controller: 'OverviewCtrl',
        templateUrl: 'views/overview.html'
    }).
    when('/new', {
        controller: 'NewMachineCtrl',
        templateUrl: 'views/machineForm.html'
    }).
    otherwise({redirectTo: '/'});
}]);
Run Code Online (Sandbox Code Playgroud)

controller.js

var _control = angular.module('assets.controllers', ['assets.services']);

_control.controller('OverviewCtrl', ['$scope', 'Machine', function($scope, Machine) {
    var promise = Machine.getAll();

    promise.then(function(machineList) {
        $scope.machines = machineList;
    }, function(reason) {
        alert('Machine list is empty: ' + reason);
    }); …
Run Code Online (Sandbox Code Playgroud)

couchdb offline-caching angularjs pouchdb

5
推荐指数
1
解决办法
3267
查看次数

今日离线网络应用的最佳方法

我正在尝试构建一个需要脱机工作的Web应用程序.到目前为止,标准方法一直是使用浏览器的应用程序缓存.但是,似乎不推荐使用Application Cache,将来会从浏览器中删除它(请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache).建议使用服务工作者.但是,目前并非所有浏览器都完全支持Service Workers.

那么该怎么办?考虑到应用程序缓存和服务工作者的当前状态,今天构建脱机Web应用程序的最佳方法是什么?还有其他方法不太依赖于浏览器功能吗?

offline application-cache offline-caching web service-worker

5
推荐指数
1
解决办法
536
查看次数

IndexedDB存储音频

可以在网页上使用IndexedDB来存储音频吗?

当前正在尝试Cache API,但正在寻找可以更持久的东西。

html5 caching offline-caching indexeddb

5
推荐指数
1
解决办法
433
查看次数

用于获取清除缓存的“版本字符串”的服务/扩展

背景

我有一个3视图利用html5离线应用程序功能的应用程序。因此,我在剃刀视图中生成了一个应用清单。该视图的简化版本可能如下所示:

CACHE MANIFEST

CACHE:
/site.min.css
/site.min.js
Run Code Online (Sandbox Code Playgroud)

为了使脱机应用程序正常运行,缓存的文件必须与应用程序中脱机页面请求的文件完全匹配。但是,我想对此清单中引用的js / css资源应用“缓存清除”版本字符串。对于HTML标记,它受的支持,ScriptTagHelper但是我没有找到任何支持纯URL的帮助程序/扩展方法(如上述清单中所要求)。

关于此帖子,我已经通过将a FileVersionProvider注入清单视图并使用以下AddFileVersionToPath()方法来解决了此问题:

CACHE MANIFEST

CACHE:
/site.min.css
/site.min.js
Run Code Online (Sandbox Code Playgroud)

但是,FileVersionProvider该类位于Microsoft.AspNetCore.Mvc.TagHelpers.Internal命名空间中,从维护的角度来看,该命名空间不足以使我充满信心。

最后,我为此实现的DI设置的实现并不完全理想(请参见下文)。我不喜欢这样的事实,我需要打电话给GetService()我并且一定要指定一个特定的MemoryCache

services.AddSingleton<FileVersionProvider>(s => 
    new FileVersionProvider(
        s.GetService<IHostingEnvironment>()?.WebRootFileProvider, 
        s.GetService<IMemoryCache>(), 
        new PathString("") ));
Run Code Online (Sandbox Code Playgroud)

是否有人以前曾要求使用版本字符串创建到js / css资源的链接?如果是这样,是否有更优雅的解决方案?

c# offline-caching asp.net-core-mvc asp.net-core asp.net-core-2.0

5
推荐指数
1
解决办法
376
查看次数

服务工作者失败 - 重定向响应,而RedirectMode不是"关注"

浏览器:Firefox 58.0.2(64位)

我正在尝试编写一个非常简单的服务工作者来缓存离线模式的内容,遵循此处此处的指导.

当我第一次加载页面时,服务工作者已正确安装.我可以通过查看:debugging#workers来确认它正在运行.

但是,此时如果我尝试刷新页面(无论是在线还是离线),或导航到站点中的任何其他页面,我会收到以下错误:

在该网站的https:// [我的 URL]经历了一个网络协议违反无法修复.

您尝试查看的页面无法显示,因为检测到数据传输中的错误.

请与网站所有者联系,告知他们这个问题.

控制台显示此错误:

无法加载" https:// [my url]".ServiceWorker将重定向的响应传递给FetchEvent.respondWith(),而RedirectMode不是"跟随".

在Chrome中,我得到了这个:

未捕获(承诺)TypeError:无法在'ServiceWorkerGlobalScope'上执行'fetch':无法构造具有模式为'navigate'的请求和非空RequestInit的请求.

根据这个线程,我将{redirect:"follow"}参数添加到fetch()函数中,但无济于事.

(是的,我在进行更改后从about:debugging页面手动卸载了Service Worker.)

然而,根据我的理解,这是造成问题的反应,而不是取材,对吗?这是因为我的服务器在提供请求的内容时发出重定向?

那么我该如何处理服务工作者的重定向呢?显然会有一些,我仍然想要缓存数据.

javascript redirect offline-caching service-worker

5
推荐指数
1
解决办法
1924
查看次数

加载数日HTML的用户比例很小?

我们有一个包含+50.000活跃用户的页面.有时,当我们更新后端和前端时,我们会看到一小部分似乎加载旧HTML的人会出现JavaScript错误.(它找不到对象X,因为我们从后端的JSON中删除了它).

我们至少在Android和IOS设备上都见过这个,但也可能在桌面浏览器上.

这可能是代码更改后的几天.

我觉得这有关于书签或真正的旧标签的事情.

  • 这是一个众所周知的常见问题吗?
  • 这个旧HTML加载的原因是什么?
  • 有什么可以做的吗?

我不认为我们的用户正在经历一些非常消极的事情(也许这是一个预加载而他们甚至看不到它),但是它会产生很多噪音,隐藏着我们可能遇到的真正问题.

其中一个页面的示例:https://poules.com/en/pools/aaygun96-wk-poule/world-cup-2018/ranking

html cache-control browser-cache offline-caching

5
推荐指数
1
解决办法
172
查看次数