最近在看 Service Worker,其中有一个不熟悉的值 request.mode === 'navigate',查了一下,navigate 代表请求用来做html文档间的跳转。

其它三种取值为 same-originno-corscors

var navigateFallback = '/index.html';
if (!shouldRespond &&
    navigateFallback &&
    (event.request.mode === 'navigate') &&
    isPathWhitelisted(["^(?!\\/__).*"], event.request.url)) {
  url = new URL(navigateFallback, self.location).toString();
  shouldRespond = urlsToCacheKeys.has(url);
}

代表如果是文档,并且找不到,则跳到首页。如同下段 nginx 的配置

location / {
  try_files $uri /index.html;
}

参考


shanyue
4.7k 声望707 粉丝

暮从碧山下,山月(shanyue)随人归。


引用和评论

0 条评论