我如何在android中实现离线地图.我用mapsforge库试了一下.它不为威斯康星州提供二进制映射文件.那么如何创建自己的地图二进制文件?
提前致谢.
如果我在iOS应用程序中从UIWebView保存了一些HTML5离线内容,它会在哪里保存?我的应用可能访问的本地任意位置?
我使用Breeze.js进行数据访问的单页应用程序.它使用Breeze.js对本地缓存执行查询,并且在启动时仅请求一次数据.之后仅在服务器上回发数据更新.
我正在寻找一个解决方案,使应用程序连接意识到.如果移动设备没有互联网连接,则将使用Breeze.js和HTML5本地存储在本地保存更改.当移动设备重新联机时,更改将与远程数据存储同步.
任何指导如何实施该要求?谢谢
html5 synchronization offline-caching single-page-application breeze
情况:我有一个数据库和一个互动的网络应用程序,用于显示和更新科学数据表.我的任务是构建一个允许用户使用的移动应用程序
问题:对于管理此类应用程序而不依赖于一致的互联网访问,进行身份验证/下载/存储/上传必要数据的最佳方法是什么?如果两个人调整相同的读数,并且在同步之间发生一次更新,我如何跟踪哪些表和值已被更改,并防止更改丢失?
当前的思路:我目前关于碰撞控制的暂定策略是维护一个"同步"表,该表存储代表存储在sessionStorage中的每个在线数据库事务的JSON对象,并让应用程序在上传数据之前不断验证其同步,并检查此对象对特定主键更新的潜在冲突.我希望能够在编辑阶段锁定元组,但由于互联网访问不一致,这似乎是不可能的.
对不起,如果这是一个新问题,我是整个移动应用程序开发的新手......
tl; dr如何防止数据库的异步更改从进行和离线的移动应用程序覆盖/与另一个人对同一数据库的更改发生冲突?我如何验证没有网络连接的用户?
我有一个使用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) 我正在尝试构建一个需要脱机工作的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
可以在网页上使用IndexedDB来存储音频吗?
当前正在尝试Cache API,但正在寻找可以更持久的东西。
我有一个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
浏览器: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.)
然而,根据我的理解,这是造成问题的反应,而不是取材,对吗?这是因为我的服务器在提供请求的内容时发出重定向?
那么我该如何处理服务工作者的重定向呢?显然会有一些,我仍然想要缓存数据.
我们有一个包含+50.000活跃用户的页面.有时,当我们更新后端和前端时,我们会看到一小部分似乎加载旧HTML的人会出现JavaScript错误.(它找不到对象X,因为我们从后端的JSON中删除了它).
我们至少在Android和IOS设备上都见过这个,但也可能在桌面浏览器上.
这可能是代码更改后的几天.
我觉得这有关于书签或真正的旧标签的事情.
我不认为我们的用户正在经历一些非常消极的事情(也许这是一个预加载而他们甚至看不到它),但是它会产生很多噪音,隐藏着我们可能遇到的真正问题.
其中一个页面的示例:https://poules.com/en/pools/aaygun96-wk-poule/world-cup-2018/ranking