任何人都知道iPad和iPhone上Safari的"离线应用程序缓存"的最大大小.看起来像是5MB.有没有办法扩大这个尺寸?
脱机应用程序缓存文档:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html
我希望能够在HTML5(iPad)网络应用程序中执行以下操作:
我对每一步都很满意,直到最后一步......
我正在尝试查找是否可以将脱机Web数据库与中央数据库同步的信息,但无法找到涵盖该主题的任何内容.是否有可能做到这一点?如果是这样,你能否提供关于它的信息的链接,或描述它如何工作足够详细,以实现我的特定应用程序?
提前致谢
我正在构建一个离线Web应用程序,并希望使用缓存清单.目前我的缓存清单看起来像这样:
CACHE MANIFEST
# Change the version number below each time we update a resource.
# Rev 1
index.html
photo.html
js/photo.js
css/photo.css
http://code.jquery.com/jquery-1.6.1.min.js
http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js
http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css
http://maps.google.com/maps/api/js?sensor=false&region=GB
Run Code Online (Sandbox Code Playgroud)
有没有理由不在缓存清单中包含外部的,CDN托管的jQuery,jQuery Mobile和Google Maps文件?
我想不到一个,但我想我会问那些比我自己更聪明:)
我正在使用HTML,CSS和JavaScript制作待办事项列表应用程序,我认为存储数据的最佳方式是本地数据库.我知道如何使用localStorage和sessionStorage,我也知道如何使用在线MySQL数据库.但是,此应用程序必须能够脱机运行并且应该脱机存储其数据.
有没有办法只使用HTML和JavaScript来做到这一点?
回应评论:
"你说你知道如何使用
localStorage......那么似乎是什么问题?"
@Lior我所知道的localStorage是,你可以将一个结果存储为一个变量,而我希望存储一个包含不同列的行,其中包含有关该对象的不同数据.但是,可以localStorage保存一个对象,如果是这样,它是用通常的对象表示法引用的吗?
任何实现都可能取决于您的用户更喜欢使用哪种浏览器.
@paul我认为chrome最受欢迎.
好的,我想澄清一下,我所问的确实是如何使用JavaScript和HTML来实现这一点而不是我有没有办法只用HTML和JavaScript来做到这一点?.基本上,我想要一种SQL数据库,它可以将其内容保存在用户的机器而不是在线.
什么解决了我的问题是使用WebDB或WEBSQL(我认为它被称为类似的东西).
我有一个Web应用程序,它部分脱机支持.
我的appcache文件如下所示:
CACHE MANIFEST
# Datestamp 2015-10-07 GIT14a6ade78ef2ab6434871e90f7f1e70784bc1536
CACHE:
/offline/
/bundles/agrihealthahp/css/admin.css
/bundles/agrihealthahp/css/print.css
/bundles/agrihealthahp/css/offline-language-english.css
/bundles/agrihealthahp/css/offline-language-english-indicator.css
/bundles/agrihealthahp/css/offline-theme-default.css
//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css
//code.jquery.com/ui/1.11.2/themes/le-frog/jquery-ui.css
/bundles/bmatznerfoundation/css/foundation.min.css
//fonts.googleapis.com/css?family=Open+Sans+Condensed:300
/apple-touch-icon.png
/apple-touch-icon-57x57.png
/apple-touch-icon-72x72.png
/apple-touch-icon-76x76.png
/apple-touch-icon-114x114.png
/apple-touch-icon-120x120.png
/apple-touch-icon-144x144.png
/apple-touch-icon-152x152.png
/combine.c6f06a9f43e79d6d26af18e22b205cf4.js
/bundles/bmatznerfoundation/js/vendor/jquery.js
/bundles/bmatznerfoundation/js/foundation/foundation.js
/bundles/bmatznerfoundation/js/foundation/foundation.reveal.js
/bundles/agrihealthahp/js/offline-simulate-ui.min.js
//code.jquery.com/ui/1.11.2/jquery-ui.min.js
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js
https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.4.0/moment-timezone.min.js
/bundles/agrihealthahp/images/dib-8d.png
/bundles/agrihealthahp/images/dib-9da.png
/bundles/agrihealthahp/images/dib-10d.png
/bundles/agrihealthahp/images/dib-10da.png
/bundles/agrihealthahp/images/dib-undefined.png
NETWORK:
*
FALLBACK:
/ /fallback.html
Run Code Online (Sandbox Code Playgroud)
一切都适用于Chrome,包括能够关闭浏览器,然后在离线时使用www.domain.com/anything再次打开它,这将返回到后备网址.此外,我可以访问/离线/并使用该应用程序.
关闭浏览器并重新打开不适用于Firefox,IE11和Edge浏览器.
这是我的设置中的错误还是应该有效?
我从Firestore开始.我已经阅读了有关离线数据持久性的文档和教程,但我还不清楚Firestore是否会再次下载数据,即使内容尚未修改.例如,如果我有一个查询,结果将每周更新一次,我不需要应用程序再次下载内容,直到进行更改,编写代码的效率方面的最佳方法是什么?谢谢!
我有一个完全与Internet断开连接的服务器(出于一些奇怪的安全原因).
如何使Ruby依赖于各种gems在该环境中工作?它可能适用于Bundler,但如何在没有Internet连接的情况下使用gem安装Bundler ?
+的NodeJS Socketio
var clients = {};
io.sockets.on('connection', function (socket) {
socket.on('online', function (data) {
if (!clients[data.username]) {
clients[data.username] = socket;
}
io.sockets.emit('message', data.user + 'online now');
});
socket.on('say', function (data) {
if (data.to == 'all') {
io.sockets.emit('message', data.message);
} else { //to specific client
clients[data.to].emit('message', data.message);
}
});
});
Run Code Online (Sandbox Code Playgroud)
客户端B首先连接到一个地方的服务器.在客户端B离线期间,客户端A向客户端B发送消息.然后客户端B再次连接到另一个地方的服务器,客户端B需要从客户端A接收这些消息.使它工作?
我正在使用角度2懒惰路由.客户端使用AOT和angular-router-loader捆绑webpack2到延迟加载子级.当浏览器连接时,一切都按预期工作,即我可以成功地将路由器导航到延迟加载的模块,块成功加载,我可以查看组件等.
但是,如果我模拟断开连接(例如,通过使用脱机chrome开发人员工具选项)路由失败,正如预期的那样,因为它无法加载相关的块.错误是'加载块[块号]失败'
之后没有路由命令工作,就像路由器坏了.
我试图使用全局ErrorHandler处理错误.我的想法是,也许我可以在它破坏路由器之前捕获错误,但似乎到时候已经太晚了.当我发现错误时,路由器无法正常工作.
import { Injectable, ErrorHandler, Injector } from '@angular/core';
import { Router } from '@angular/router';
@Injectable()
export class CustomErrorHandler extends ErrorHandler {
constructor(private injector: Injector) {
super(false);
}
private get router(): Router {
return this.injector.get(Router, null);
}
public handleError(error: Error) {
if (/Loading chunk [\d]+ failed/.test(error.message)) {
console.info('Offline mode');
let router = this.router;
if (router) {
router.navigateByUrl('/offline').then(t => console.debug(t+'')).catch(t=> console.debug(t));
} else {
window.location.href = '/';
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
自定义错误处理程序有效,因为打印了"脱机模式"消息.注入也有效,路由器不为空,但是路由器导航不起作用,路由器承诺未解决也没有被拒绝.
我想要完成的是处理错误(例如向用户显示信息性消息)并同时使路由器处于工作状态,以便用户可以稍后导航(当恢复互联网连接时)没有重新加载整个页面.
为了查看这是否是一个角度路由器问题,我试图看看当尝试使用jit编译脱机工作时会发生什么.我使用:angular router plunker …