标签: html5-appcache

HTML5 appCache清单引用目录的默认文档

在我正在研究的jQuery移动网站中,我有以下列方式引用url的锚标记:

  • "/目录/"
  • "/目录/子目录/"

这些当然是引用:

  • "/directory/index.html"
  • "/directory/subdirectory/index.html"

所以在我的清单文件中,我是否需要引用"root"版本?例如

CACHE MANIFEST

CACHE:
/directory/
/directory/index.html
/directory/subdirectory/
/directory/subdirectory/index.html

NETWORK:
*

FALLBACK:
/ /offline.html
Run Code Online (Sandbox Code Playgroud)

要么:

CACHE MANIFEST

CACHE:
/directory/index.html
/directory/subdirectory/index.html

NETWORK:
*

FALLBACK:
/ /offline.html
Run Code Online (Sandbox Code Playgroud)

它会自动知道"/ directory /"等同于"/directory/index.html"等吗?好像不会.

html5 cache-manifest html5-appcache

3
推荐指数
1
解决办法
2171
查看次数

Azure html5 Web应用程序抛出应用程序缓存错误事件:清单提取失败(404)

我在使用Azure提供.appcache文件时遇到问题.

在Chrome开发者工具控制台中查看时,我收到以下消息

应用程序缓存错误事件:清单提取失败(404)http://mydomain.cloudapp.net/c.appcahe

现在我知道Azure实例的默认vm将无法识别.appcache扩展名和mime类型,因此我将以下内容添加到我的webrole web.config中

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest"/>
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试浏览c.appcache以及控制台中相应的404时,我仍然遇到404错误.

如果我在开发结构中运行应用程序,c.appcache中的资源可以正常下载,并且在IIS中创建的临时网站在iis配置中添加了相应的Mime类型.

任何人都可以帮我解决这个问题.

谢谢

布雷特

azure ipad html5-appcache

3
推荐指数
1
解决办法
1476
查看次数

控制appcache下载

我开发了一个使用appcache的iPad网络应用程序.它不是一个完全离线的应用程序,但我使用appcache存储大型图像文件,以便它们不通过3G发送.问题是当清单更新时,appcache会更新iPad是否在wifi或3G上,这可能很昂贵.

是否可以让用户决定是否可以更新appcache?从我所看到的,这是不可能的,这一切都是自动发生的,你只是得到了事件.但也许有一些诡计就像在飞行中或类似地写清单.

如果有帮助,在服务器端使用PHP.谢谢.

html5 html5-appcache ios6

2
推荐指数
1
解决办法
761
查看次数

appcache网络中的SSL路径受Chrome限制

看到Chrome中的一些奇怪行为,并且在使用appcache或Chrome时不确定它是否是预期的行为.

它是一个单页面应用程序,由我们的RestAPI提供支持,它在HTTP下请求RestAPI时工作正常,但是一旦我们将url更改为HTTPS版本,它就会停止工作.Chrome控制台中没有很多(即任何)信息,因为它决定停止工作.

我们已经设法将其缩小到NETWORKappcache文件中的部分,我们可以使用它的唯一方法是使用*我们不想做的通配符,因为它绕过了appcache的整个点,并降低安全性(从我阅读文档等的理解).

我们已经尝试了API网址的任何和所有变体(如在各种相关位置中它与通配符的组合),但似乎没有工作(即使https://*不允许成功请求).

任何有经验的人都知道发生了什么事吗?

谢谢

html5-appcache

2
推荐指数
1
解决办法
528
查看次数

应用程序缓存清单未在Firefox中加载,在Chrome和Safari中正常

我有以下表现

CACHE MANIFEST
# cache-revision-29541
# cache-creation-date: Fri Dec  5 11:33:29 GMT 2014
CACHE:
app.html
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)

以及app.html

<!DOCTYPE html>
<html manifest="app.manifest">
<head>
    <title>cache test</title>
    <script>
    function checkCache() {
        var appCache = window.applicationCache;
        var logACEvent = function(e) {
            console.log("Cache Event " + e.type + " Status: " + appCache.status);
        }
        appCache.addEventListener('error', logACEvent, false);
        appCache.addEventListener('checking', logACEvent, false);
        appCache.addEventListener('noupdate', logACEvent, false);
        appCache.addEventListener('downloading', logACEvent, false);
        appCache.addEventListener('progress', logACEvent, false);
        appCache.addEventListener('updateready', logACEvent, false);
        appCache.addEventListener('cached', logACEvent, false);
    }
    checkCache();
    </script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

和我的.htaccess条目(设置内容类型)

AddType …
Run Code Online (Sandbox Code Playgroud)

javascript firefox html5-appcache

2
推荐指数
1
解决办法
2033
查看次数

使用HTML5缓存时,外部资源无法加载

我正在尝试让app cache工作:

CACHE MANIFEST

/css/style.css
/js/colors.js
/js/dropzone.js
/js/jquery.min.js
/js/script.js

/img/icon_analytics.png
/img/icon_exit.png
/img/icon_expand.png
/img/icon_list.png
/img/icon_lock.png
/img/icon_menu.png
/img/icon_more_content.png
/img/icon_settings.png
/img/icon_settings_black.png
/img/svg_icons/close_fullscreen.svg
/img/svg_icons/go_fullscreen.svg
/img/loader.gif
Run Code Online (Sandbox Code Playgroud)

但这是我在控制台中得到的:

GET https://www.google.com/jsapi net::ERR_FAILED
(index):517 Uncaught ReferenceError: google is not defined
(index):524 GET http://www.google-analytics.com/analytics.js net::ERR_FAILED
0.s3.envato.com/files/115114837/profile.jpg:1 GET https://0.s3.envato.com/files/115114837/profile.jpg net::ERR_FAILED
jquery.min.js:3 GET http://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIpBw1xU1rKptJj_0jans920.woff2 net::ERR_FAILED
Run Code Online (Sandbox Code Playgroud)

显然,它拒绝加载.appcache文件中未指定的任何资源.我甚至试图只指定图像,它仍然会为样式表和所有.js文件抛出错误.

这是怎么回事?

html javascript html5 html5-appcache

2
推荐指数
1
解决办法
2043
查看次数

HTML5应用程序缓存 - SSL和跨域 - 任何解决方法?

来自http://appcachefacts.info/:

通过SSL,清单中的所有资源都必须遵守同源策略.Google Chrome是一个例外,它不遵循这方面的规范.通过SSL,Chrome将从不同的来源加载资源,只要它们仍然通过SSL提供.

我真的想从靠近用户的CDN加载静态资产,如图像,css和javascripts,并且因为我使用HTTPS而避免从我的网络服务器提供它们

我们有什么方法可以解决这些安全限制吗?

我的目标:

主要html加载自:https://mydomain.com.

资产从以下网址加载:https://cdn.mydomain.com (子域但不是同一个来源..)

我目前使用的Appcache文件,但似乎不适用于Safari和iOS iphone:

CACHE MANIFEST


CACHE:
https://cdn.mydomain.com/main.css
https://cdn.mydomain.com/main.zepto.js

NETWORK:
/
*
Run Code Online (Sandbox Code Playgroud)

ssl html5 cross-domain cache-manifest html5-appcache

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

服务工作者中的缓存未定义

我在注册我的服务人员时遇到了问题.当我尝试注册它时,浏览器抱怨"未捕获(在承诺中)TypeError:无法读取未定义的属性'addAll'"它在第6行中断,我尝试将addAll添加到缓存中.我以为open方法创建了缓存对象,为什么它未定义?

"use strict";

self.addEventListener('install', event => {
    event.waitUntil(
        caches.open('test').then(function(cache) {
        return cache.addAll([
            '/index.html',
            '/'
        ]);
    })
);
});

self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
});

self.addEventListener('fetch', event => {
event.respondWith(
    caches.match(event.request).then(response => {
        return response || fetch(event.request);
    })
);
});
Run Code Online (Sandbox Code Playgroud)

javascript caching node.js html5-appcache service-worker

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