标签: offline-caching

HTML 5缓存清单是否也适用于ajax请求?

我正在尝试使用ASP MVC 3网站获得HTML 5离线应用程序缓存.我得到的问题是,当我尝试在离线模式下导航到页面时,它不起作用.

我正在使用清单文件的操作,以便可以动态生成它,并在视图中指定Resonse.ContentType ="text/cache-manifest".

我已经在IIS本地托管了应用程序,所以我使用http://192.168.55.127/mywebsite/来访问它.

这是我正在使用的清晰视图.它使用剃刀视图引擎,有点乱(硬编码的URL等),而我试图弄清楚什么是错的.

@{
     Layout = null;
     Response.ContentType = "text/cache-manifest";
}
CACHE MANIFEST

# Version: @ViewBag.Version

CACHE:
#Script Files
@foreach(var jsFile in Url.GetJsFiles())
{
     @string.Format("{0}{1}\r\n", "http://192.168.55.127", Url.Content(jsFile))
}

#Style Sheets
@foreach(var cssFile in Url.GetCssFiles())
{
     @string.Format("{0}{1}\r\n", "http://192.168.55.127", Url.Content(cssFile))
}

#Images
@foreach(var imageFile in Url.GetImageFiles())
{
     @string.Format("{0}{1}\r\n", "http://192.168.55.127", Url.Content(imageFile))
}

#HTML Pages
@string.Format("{0}{1}", "http://192.168.55.127", Url.Content("~/pages/master.htm"))
@string.Format("{0}{1}", "http://192.168.55.127", Url.Content("~/pages/home.htm"))
@string.Format("{0}{1}", "http://192.168.55.127", Url.Content("~/pages/options.htm"))

NETWORK:
*
Run Code Online (Sandbox Code Playgroud)

这导致如下路径:

http://192.168.55.127/mywebsite/scripts/Libs/jQuery.js
http://192.168.55.127/mywebsite/pages/home.htm
Run Code Online (Sandbox Code Playgroud)

这似乎很好.

我也使用完整路径引用了清单文件:

<html manifest="http://192.168.55.127/mywebsite/manifest">
Run Code Online (Sandbox Code Playgroud)

这似乎没问题,因为当我用chrome加载网站并观察开发者控制台时,它似乎缓存了所有文件而没有抛出任何错误.此外,如果我导航到http://192.168.55.127/mywebsite/manifest, 它会提供清单,因为我希望看到它.

该网站不使用普通导航,而是使用散列片段导航 …

html5 offline-mode offline-caching

8
推荐指数
1
解决办法
2844
查看次数

Laravel:离线模式?

我想使我的Web应用程序(使用laravel构建)可以离线工作...但是我不知道该怎么做!

我正在为静态文件使用“应用程序缓存”,但是我不确定确切如何处理应用程序的动态方面。

该应用程序使用一个数据库,我猜我需要使用localStorage吗?(到目前为止,香港专业教育学院在线阅读)

我基本上只是在寻找某人将我指向正确的方向,因为我很难在网上找到很多关于设置Laravel以便离线使用的信息

谢谢戴夫

php offline offline-caching local-storage laravel

8
推荐指数
1
解决办法
4711
查看次数

HTML 5 离线存储缓存清单不起作用

我试图让 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 时,那里根本没有与此域相关的任何内容。

任何人都可以建议可能出了什么问题 - 因为我有点难住?

html manifest offline-caching

7
推荐指数
1
解决办法
8220
查看次数

从HTML5离线appcache中省略当前页面,但使用缓存资源

出于性能目的,我希望我的一些网页使用已缓存以供离线使用的资源(图像,CSS等),但不要将页面本身缓存,因为内容将动态生成.

一种方法是重构我的页面,以便他们通过AJAX加载动态内容或在LocalStorage中查找.细节可能会有所不同,但从广义上讲,这类似的东西.

如果可能的话,我宁愿找到一种方法来简单地指示浏览器为页面使用缓存资源(同样,图像,CSS等),但不实际缓存(动态生成的)HTML内容本身.

有没有办法用HTML5离线appcache做到这一点?我的印象是答案是"不",因为:

  • 任何包含清单的页面都将被缓存,因此我无法在页面本身中指定缓存的资源.
  • 没有办法告诉上一页"为其他页面使用脱机资产,但实际上并未在该页面上缓存HTML".您必须指定页面本身,这意味着将缓存HTML.

我错了吗?似乎可能有一些棘手(或不那么棘手)的方式.现在我已经输入了它,我想知道NETWORK在appcache清单的部分中明确地包含页面是否可以解决问题.

html5 offline-caching manifest.cache cache-manifest html5-appcache

7
推荐指数
1
解决办法
2599
查看次数

如何设置Android Studio,以便我可以在离线时编译(从互联网断开连接)

我今天在androidstudio工作,我的构建开始失败.令我惊讶的是,我丢失了我的互联网连接,无法再构建我的代码.

build.gradle文件包含以下内容:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.3'
    }
    tasks.withType(Compile) {
        options.encoding = "UTF-8"
    }
}
apply plugin: 'android-library'

dependencies {
    compile files('libs/android-support-v4.jar')
}
...
Run Code Online (Sandbox Code Playgroud)

那么......我如何重新配置​​我的开发环境,更改我的build.gradle以及做任何其他必要的事情来让android开发脱机.

注意: 编辑问题是为了从存储库中删除mavenLocal(),因为它是为了自己解决这个问题而添加的

android intellij-idea gradle offline-caching android-studio

7
推荐指数
1
解决办法
8487
查看次数

使Web应用程序脱机的策略?

我们目前正在构建一个Web应用程序(Django,Ember),我们发现大多数潜在客户都需要对应用程序进行零星的离线访问.

我们需要的不仅仅是"呈现"应用程序,以便用户可以导航,缓存清单中的内容等等(我想我们最终也需要),但我们必须让用户尽可能多地操作,就好像他们是线上.显然有一些功能不可用,但应该可以使用应用程序的基本用法.

也就是说,我希望听到一些关于之前遇到过这种情况的人的想法.我看到这个的方式,我们需要:

1.-检查我们是否经常在线/离线,或让用户指定他们何时离线(如智能手机中的飞行模式).

2.-所有数据都应该转储到IndexedDB中,从那时起我们就使用IndexedDB处理与数据相关的任何事情.

3.-当用户重新联机时,Synch进程必须尝试将数据从脱机用户转储到db online.虽然这可能看起来很危险,但我不希望很多用户同时离线,而其他在线用户正在使用该应用程序,所以我希望这个同步过程不会成为真正的噩梦,我也不会期待有竞争条件.

好吧,显然可以选择创建一个桌面独立应用程序......但我会尽量避免这种情况......

谢谢!

django offline offline-mode offline-caching offline-browsing

7
推荐指数
1
解决办法
2607
查看次数

如何将 Gradle 缓存复制到另一台离线机器上?

我有两台 Ubuntu 16.04 机器。一台已连接到互联网,而另一台则完全离线。我想在离线机器上构建一个Android项目。在线机上,构建成功。因此,我已将整个内容复制.gradle到离线计算机并使用--offline标志运行构建过程。令人惊讶的是它失败了。很多

No cached version of ....
Run Code Online (Sandbox Code Playgroud)

我怀疑这是因为用于为每个.jar.pom等生成散列的散列算法。我认为散列在一台机器与另一台机器之间是不同的。另请注意,我的用户名和机器名在这两者中是不同的。看起来哈希值与用户名有关。我对吗?是否有一个干净的解决方案可以在离线机器上构建项目?

  • Gradle 4.0-bin
  • com.android.tools.build 2.3.0

android gradle offline-caching android-gradle-plugin

7
推荐指数
1
解决办法
2548
查看次数

实现Glide离线模式

我正在写一个Android应用程序,我需要在那里有一个离线模式,这意味着我需要从后端下载所有图像,如果我没有互联网连接,我将能够向用户显示它们.我阅读了缓存的官方文档,__CODE__并尝试使用此代码下载:

__CODE__ 要加载图像我使用:

__CODE__

看起来它有效,因为我的应用程序占用的空间增加了.但是当我尝试在离线模式下运行我的应用程序时,大多数图像都会被跳过,而在日志中我会看到下一个:

__CODE__

有人遇到过类似的问题吗?

PS当我有网络连接时,它完美无缺.

android image offline-caching android-glide

7
推荐指数
0
解决办法
1390
查看次数

Django REST api 与 PouchDB 离线同步

我正在开发一个由多个客户端使用的应用程序,该应用程序的主要目标是在线使用。但是一个特定的要求是,它也应该能够离线工作仅适用于紧急情况下的单个客户端和短时间 - 最多 24 小时)。现在我使用 Django REST 框架作为后端和 Jquery/AJAX 前端用于 GET 和 PUT请求,这些请求在后端更新 PostgreSQL DB。现在互联网上的研究很少表明我应该在前端使用PouchDB和/或在后端使用CouchDB。但我的问题是:

  1. 真的有可能吗?
  2. 如果是,那么后端数据库应该使用哪个数据库?
  3. 当离线客户端在线时,我们如何同步在线生成的数据?
  4. 我们可以在客户端机器上缓存一些数据以实现离线可用性吗?
  5. 是否仍然可以将 PostgreSQL 用于后端?(我真的很想用它!)

django synchronization offline-caching pouchdb django-rest-framework

7
推荐指数
0
解决办法
708
查看次数

工作箱:self.skipWaiting()的危险

我使用Workbox预先缓存呈现应用程序shell所需的资产,包括基本版本index.html.Workbox假定index.html在缓存中可用,否则,页面导航失败,因为我在我的服务工作者中注册了这个:

workbox.routing.registerNavigationRoute('/index.html');
Run Code Online (Sandbox Code Playgroud)

我也在self.skipWaiting()安装监听器中有指令:

self.addEventListener('install', e => {
  self.skipWaiting();
});
Run Code Online (Sandbox Code Playgroud)

据我了解,现在有2个install听众:

  • Workbox注册的用于预缓存资产的资产(包括index.html)
  • 我在我的服务工作者中手动注册的一个

self.skipWaiting()Workbox的安装监听器失败时是否可以成功?这将导致一个问题状态,即资产未预先缓存但服务工作者已激活.这种情况是否可能,我应该保护它吗?

caching offline-caching service-worker progressive-web-apps workbox

7
推荐指数
1
解决办法
3976
查看次数