我试图让 HTML5 离线存储以一种基本的方式工作。我阅读了有关DiveIntoHTML5的信息,它似乎有道理,但似乎对我不起作用。我想知道是否有人可以帮我调试这个。
基本上我已经为应用程序设置了一个主页,index.htm。所以我的应用程序在网络上http://www.mydomain.com/online/index.htm。用户将访问此页面,在那里他们通常会每天处理所有事情。访问此 URL 将创建一堆缓存文件,以便他们可以访问http://www.mydomain.com/offline并在离线时查看应用程序的工作版本。
在线首页前几行代码是:
<!DOCTYPE html>
<html manifest="cache.manifest">
<head>
...etc
Run Code Online (Sandbox Code Playgroud)
我生成了一个名为“cache.txt”的纯文本文件,并在记事本中向其中添加了以下内容:
CACHE MANIFEST
http://www.mydomain.com/offline/scripts/jquery-1.6.3.min.js
http://www.mydomain.com/offline/scripts/jquery-ui-1.8.16.custom.min.js
http://www.mydomain.com/offline/scripts/modernizr.min.js
http://www.mydomain.com/offline/scripts/json2.min.js
http://www.mydomain.com/offline/scripts/jquery.deserialize.js
http://www.mydomain.com/offline/scripts/jquery.cookie.js
http://www.mydomain.com/offline/scripts/main.js
http://www.mydomain.com/offline/css/main.css
http://www.mydomain.com/offline/css/structure-details.css
http://www.mydomain.com/offline/css/ui-lightness/jquery-ui-1.8.16.custom.css
http://www.mydomain.com/img/header.gif
http://www.mydomain.com/offline/img/bg.png
http://www.mydomain.com/offline/img/header_riser.gif
http://www.mydomain.com/offline/img/logo.png
http://www.mydomain.com/offline/img/offline.png
http://www.mydomain.com/offline/index.htm
Run Code Online (Sandbox Code Playgroud)
然后,我将此文件重命名为“cache.manifest”并将其上传到在线应用程序的根目录(与我的主页处于同一级别),以便可以在http://www.mydomain.com/online上访问它/cache.manifest。
据推测,托管公司已将“文本/缓存清单”的内容类型添加到 IIS 中扩展名为 .manifest 的所有文件中。我认为这是有效的,因为当我在http://www.mydomain.com/online/cache.manifest在 Firefox 中查看文件时,Firebug 告诉我内容类型是:
Content-Type cache-manifest
Run Code Online (Sandbox Code Playgroud)
或者这应该返回“文本/缓存清单”?也许这就是问题所在?
当我查看系统上的离线存储文件夹 (C:\Users\Me\AppData\Local\Mozilla\Firefox\Profiles\b12u6xza.default 时,那里根本没有与此域相关的任何内容。
任何人都可以建议可能出了什么问题 - 因为我有点难住?
我有两台 Ubuntu 16.04 机器。一台已连接到互联网,而另一台则完全离线。我想在离线机器上构建一个Android项目。在线机上,构建成功。因此,我已将整个内容复制.gradle到离线计算机并使用--offline标志运行构建过程。令人惊讶的是它失败了。很多
No cached version of ....
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为用于为每个.jar、.pom等生成散列的散列算法。我认为散列在一台机器与另一台机器之间是不同的。另请注意,我的用户名和机器名在这两者中是不同的。看起来哈希值与用户名有关。我对吗?是否有一个干净的解决方案可以在离线机器上构建项目?
我正在开发一个由多个客户端使用的应用程序,该应用程序的主要目标是在线使用。但是一个特定的要求是,它也应该能够离线工作(仅适用于紧急情况下的单个客户端和短时间 - 最多 24 小时)。现在我使用 Django REST 框架作为后端和 Jquery/AJAX 前端用于 GET 和 PUT等请求,这些请求在后端更新 PostgreSQL DB。现在互联网上的研究很少表明我应该在前端使用PouchDB和/或在后端使用CouchDB。但我的问题是:
django synchronization offline-caching pouchdb django-rest-framework
是否有关于如何使用TileCache预缓存地图的已知部分的良好教程,将它们存储在PhoneGap移动应用数据库中并使用OpenLayers加载它们?
我经历了很多教程,但我还没有想出办法一起做所有这些.
mobile-application openlayers offline-caching tilecache cordova
我已经搜索了很长时间以便在HTML5中存储大量图像,或者在本地存储并显示它们.
该应用程序是一个产品订购和目录,如电子商务网站,但对于批量订单,而不是最终客户,每个图像是一个产品,这就是为什么需要有40k图像.需要来自销售人员可以在离线模式下使用平板电脑数天,数周,并且只有在连接或想要同步后才与ERP同步.
每个销售人员都有一个专用的Android平板电脑Tegra3四核,32Gb用于该应用程序.但该应用程序还支持桌面上的iPad和Chrome.
但是我遇到了以下限制:
所以也许我错过了另一种方法来做到这一点?
是否有HTML5方式存储大量图像以供离线查看?移动设备不支持FileSystem API,并且能够在移动设备上运行是一项强烈要求.
背景:
我已经建立了一个甚至可以脱机工作的网页.本页面遵循"AppCache"指南.
我的网络浏览器是HP Windows 8平板电脑上的IE11.
当我点击物理服务器(Oracle weblogic)上页面的直接URL时,我就可以访问该页面了.即使我关闭网络连接,也可以通过IE11浏览器访问同一页面.
问题:
当我通过公司网关(F5和OHS)访问同一页面时,当有网络连接时,该页面可用.但是一旦我关闭了网络连接,我就会看到" 你没有连接到网络 "页面.
当我连接回网络并尝试访问同一页面时,我可以看到我的页面请求的资源都是从本地缓存浏览器提供的(我通过IE开发人员工具检查网络).
我不确定发生了什么.即使没有连接,我也想访问我的页面.
注意:
我的网页只能通过网关使用"HTTPS"访问.我直接访问服务器的地方使用'HTTP'
internet-explorer offline-caching offlineapps html5-appcache internet-explorer-11
我已经按照这里给出的HLS缓存教程,但控件永远不会到达任何代理(AVAssetDownloadDelegate).
我错过了什么吗?这是我写的代码
- (void)setupAssetDownloader {
NSURL *assetURL = [NSURL URLWithString:@"STREAMING_HOST/video/hls/3729170.m3u8"];
AVURLAsset *hlsAsset = [AVURLAsset assetWithURL:assetURL];
urlSessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"assetDowloadConfigIdentifier"];
avAssetDownloadSession = [AVAssetDownloadURLSession sessionWithConfiguration:urlSessionConfiguration assetDownloadDelegate:self delegateQueue:[NSOperationQueue mainQueue]];
// Download movie
avAssetDownloadTask = [avAssetDownloadSession assetDownloadTaskWithURLAsset:hlsAsset assetTitle:@"downloadedMedia" assetArtworkData:nil options:nil];
//@{AVAssetDownloadTaskMinimumRequiredMediaBitrateKey : @(300000)}
[avAssetDownloadTask resume];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:avAssetDownloadTask.URLAsset];
AVPlayer *player = [[AVPlayer alloc ] initWithPlayerItem:playerItem];
AVPlayerLayer *playerLayer = [[AVPlayerLayer alloc ] init];
[playerLayer setPlayer:player];
[playerLayer setFrame:self.view.frame];
[self.view.layer addSublayer:playerLayer];
[player play];
}
#pragma mark - AVAssetDownloadDelegate
- (void)URLSession:(NSURLSession *)session assetDownloadTask:(AVAssetDownloadTask …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的一个AngularJS应用程序中实现一个服务工作者.基于教程(主要是MDN),我提出了以下实现来将它与AngularJS合并.
首先,因为app.run()似乎是正确的地方.我在我的run块中有以下代码:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('workerFile.js')
.then(function(reg) {
console.log('Registration done');
},function(error) {
console.log('Registration failed with ' + error);
});
}
Run Code Online (Sandbox Code Playgroud)
我的服务工作者文件如下:
this.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.addAll([
'index.html'
]);
})
);
});
Run Code Online (Sandbox Code Playgroud)
和
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
);
});
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我希望我的index.html文件可以缓存并脱机使用.但那还没有发生.在线时,每次为服务器提供文件(在提琴手中看到).
我尝试过更改this为self工作文件.这没有用.此外,我正在测试它,localhost所以我认为它不应该有不安全的浏览问题.我对JavaScript中的Workers概念很陌生,因此没有足够的选项可以尝试.
有人能指出我的错误吗?显然,互联网上的文章并不多.
PS:我参观了这个问题:没多大帮助.
更新:再看一下文档,我相信它在注册时与scope属性有关.我该如何定义此属性以包含我的整个应用程序?我尝试过使用{scope: '/'}它似乎不起作用.
javascript web-worker offline-caching angularjs service-worker
我已经在我的 Flutter 应用程序中实现了 Cloud Firestore 并遇到了这个问题:如果应用程序的第一次加载(安装后)没有网络连接,则不会显示任何数据。 我的问题是:即使没有互联网连接,如何才能在第一次加载(安装后)时显示来自 Firestore 的数据?我获取数据的代码是这样的:
class QuestionsListState extends State<QuestionsList> {
@override
Widget build(BuildContext context) {
return new StreamBuilder<QuerySnapshot>(
stream: _questionsCollectionReference
.where("category", isEqualTo: _chosenCategory).orderBy("order").snapshots,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return const Text('');
final int messageCount = snapshot.data.documents.length;
return new ListView.builder(
itemCount: messageCount,
itemBuilder: (_, int index) {
final DocumentSnapshot document = snapshot.data.documents[index];
return new ListTile(
title: new FlatButton(
onPressed: () {
Navigator.push(context, new MaterialPageRoute(
builder: (BuildContext context) => new AddAnswerDialog(),
fullscreenDialog: true,
)); …Run Code Online (Sandbox Code Playgroud) 有没有办法在离线时通过服务工作者显示谷歌地图。
我已经构建了一个渐进式网络应用程序,它通过服务工作者将所有内容和数据存储在缓存中,以便在使用后可以离线访问,但在我的一生中,我无法缓存谷歌地图然后显示它。
javascript offline offline-caching service-worker progressive-web-apps
offline-caching ×10
cordova ×2
javascript ×2
android ×1
angularjs ×1
dart ×1
django ×1
flutter ×1
gradle ×1
html ×1
html5 ×1
ios ×1
manifest ×1
objective-c ×1
offline ×1
offlineapps ×1
openlayers ×1
pouchdb ×1
preload ×1
swift ×1
tilecache ×1
web-worker ×1