我有一个服务人员,如果您处于脱机状态,我希望返回脱机页面。我意识到你必须先缓存离线页面,所以我这样做了。当我将其缓存,并使用chrome开发工具将网络限制为脱机时,它显示了默认的脱机页面!我不知道脱机时如何打开页面。我在chromebook上,如果这能改变什么的话。这是我的代码(顺便说一句,我对服务人员是全新的):
this.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.addAll(['../offline.html','../images/ico/ico.jpg']);
})
);
});
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
// If fetch fails, we return offline.html from cache.
return fetch(event.request)
.catch(err => {
return caches.match('../offline.html');
});
}
)
);
});
将获取事件代码替换为此代码。对于每个请求,将调用fetch事件,它将检查是否在缓存文件列表中找到了您的请求,然后它将从那里提供文件,否则它将进行fetch调用以从服务器获取文件。
self.addEventListener('fetch', (event) => {
// We only want to call event.respondWith() if this is a navigation request
// for an HTML page.
if (event.request.mode === 'navigate') {
event.respondWith((async () => {
try {
// First, try to use the navigation preload response if it's supported.
const preloadResponse = await event.preloadResponse;
if (preloadResponse) {
return preloadResponse;
}
const networkResponse = await fetch(event.request);
return networkResponse;
} catch (error) {
// catch is only triggered if an exception is thrown, which is likely
// due to a network error.
// If fetch() returns a valid HTTP response with a response code in
// the 4xx or 5xx range, the catch() will NOT be called.
console.log('Fetch failed; returning offline page instead.', error);
const cache = await caches.open(CACHE_NAME);
const cachedResponse = await cache.match(OFFLINE_URL);
return cachedResponse;
}
})());
}
// If our if() condition is false, then this fetch handler won't intercept the
// request. If there are any other fetch handlers registered, they will get a
// chance to call event.respondWith(). If no fetch handlers call
// event.respondWith(), the request will be handled by the browser as if there
// were no service worker involvement.
});
我正在查询URI以从web服务获取一些数据。那很好。但我注意到,我的json hase多页的page\u计数,但只返回第一页数据。 以下是json的样子: 如何返回所有页面而不是只返回第一页?我知道这可能不是个好主意,但我该怎么做? 更新:web服务的URI类似于: 谢谢
我有一个php网站,它必须以分页格式在页面上显示项目列表,我使用php实现了这一点,但现在我想在其中添加ajax功能,所以我添加了这个函数,在分页部分单击page no时调用。Ajax/jQuery函数:(.paginate是页面链接的类) 我的分页功能有点像这样: 在我想要显示分页的div的页面上,我得到的是整个页面作为响应,而不是分页的div。我已经将分页的div分离到一个单独的页面,并将其包
我寻找如何在堆栈溢出的Java中进行IP查找,但答案与我已经在做的匹配,并没有解决我的问题。 问题:此代码与预期的一些IP广告,而不是与其他一些。 例如,对于IP 157.55.39.29,输出为: 根据Linux命令,此结果似乎是正确的: 返回: 此IP地址的完全限定域名,如果安全检查不允许此操作,则返回IP地址的文本表示形式。 但我很确定这不是安全检查的问题...或者我不明白出了什么问题。 你
我知道关于及时UI已经有很多问题了。我目前正在使用ViewPager,其中有三个不同背景的页面(绿色、黄色和红色)。我想实现它们之间的转换,如下图所示。我知道如何为ViewPager实现自定义转换,但我不知道这个特定转换的逻辑是什么。 有人有这方面的经验吗?
问题内容: 我正在寻找一种干净的方法,当找不到请求的资源时,在Spring 4中返回自定义的404错误页面。对不同域类型的查询应导致不同的错误页面。 这里有一些代码可以表明我的意图(Meter是一个域类): 我想象有几种解决问题的方法。首先,有可能创建像 然后使用异常处理程序呈现自定义错误页面(可能包含指向仪表列表的链接或适当的链接)。 但是我不喜欢使用许多小异常来污染我的应用程序。 另一种可能性
问题内容: 我的代码中有一个,如果地图的方法返回的是空列表而不是空值,则应避免使用空指针。java API中是否有类似的东西?我应该延长吗? 问题答案: @Jon的答案是直接处理您所要询问的好方法。 但是令我惊讶的是,您可能要实现的是“多图”;即从键到值集合的映射。如果是这种情况,那么您还应该查看Guava或Apache commons集合中的multimap类。 看着: 界面和它的实施方式中,或