[不花钱站长]:从免费域名开始[0元] Oracle永久免费VPS[0元] VPS环境搭建免费脚本[0元] 秒变大盘挂载免费网盘[0元] 小白免费采集器1天500W[0元] CF免费DNS+CDN服务[0元]
[零基础网赚]:撸本站免费源码[0元] 网站强引免费蜘蛛法[0元] 图片视频文件免费存储[0元] 外链轻松发布免费友链[0元] 入坑免费教程学习源代码[0元] 网上百种+赚钱联盟推荐[?元]

↑↑VPS推荐网 WWW.VPS.COM.IN 稳定 便宜 免备案↑↑


您现在的位置是:首页 > 全球[VPS测评] >  建站教程,建站教程,国外永久免费VPS

使用谷歌黑科技Service Workers为网站加速

全球[VPS测评]来源:VPS推荐网点击:589
【性价之王】【线路之王】【价格之王】【配置之王】
【免费之王】【香港首推】【梯子之王】【独服之王】
使用谷歌黑科技Service Workers为网站加速

Service Workers是谷歌公司推出的加速黑科技,它可以在浏览器层面动态缓存一些请求,从而使网站的二次加载速度大幅提高,今天就给大家分享一下如果在自己的博客里部署Service Workers。

需要注意的是,Service Workers 只有在 HTTPS 的前提下才能发挥作用。

添加 sw-toolbox 核心

下载 sw-toolbox.js 并且放置到主题目录下的 assets/js 目录

*如果你是默认主题,应该是在path_to_ghost/content/themes/casper/assets/js

创建缓存规则

在主题根目录下创建 serviceworker.js,并且写入下面内容

'use strict';(function () { 'use strict'; var cacheVersion = '-toolbox-v1'; var dynamicVendorCacheName = 'dynamic-vendor' + cacheVersion; var staticVendorCacheName = 'static-vendor' + cacheVersion; var staticAssetsCacheName = 'static-assets' + cacheVersion; var contentCacheName = 'content' + cacheVersion; var maxEntries = 50; self.importScripts('assets/js/sw-toolbox.js'); self.toolbox.options.debug = false; // 缓存本站静态文件 self.toolbox.router.get('/assets/(.*)', self.toolbox.cacheFirst, { cache: { name: staticAssetsCacheName, maxEntries: maxEntries } }); // 缓存 googleapis self.toolbox.router.get('/css', self.toolbox.fastest, { origin: /fonts\.googleapis\.com/, cache: { name: dynamicVendorCacheName, maxEntries: maxEntries } }); // 不缓存 DISQUS 评论 self.toolbox.router.get('/(.*)', self.toolbox.networkOnly, { origin: /disqus\.com/ }); self.toolbox.router.get('/(.*)', self.toolbox.networkOnly, { origin: /disquscdn\.com/ }); // 缓存所有 Google 字体 self.toolbox.router.get('/(.*)', self.toolbox.cacheFirst, { origin: /(fonts\.gstatic\.com|www\.google-analytics\.com)/, cache: { name: staticVendorCacheName, maxEntries: maxEntries } }); self.toolbox.router.get('/content/(.*)', self.toolbox.fastest, { cache: { name: contentCacheName, maxEntries: maxEntries } }); self.toolbox.router.get('     var cacheVersion = '-toolbox-v1';    var dynamicVendorCacheName = 'dynamic-vendor' + cacheVersion;    var staticVendorCacheName = 'static-vendor' + cacheVersion;    var staticAssetsCacheName = 'static-assets' + cacheVersion;    var contentCacheName = 'content' + cacheVersion;    var maxEntries = 50;     self.importScripts('assets/js/sw-toolbox.js');     self.toolbox.options.debug = false;     // 缓存本站静态文件    self.toolbox.router.get('/assets/(.*)', self.toolbox.cacheFirst, {        cache: {          name: staticAssetsCacheName,          maxEntries: maxEntries        }    });     // 缓存 googleapis    self.toolbox.router.get('/css', self.toolbox.fastest, {        origin: /fonts\.googleapis\.com/,            cache: {              name: dynamicVendorCacheName,              maxEntries: maxEntries            }    });     // 不缓存 DISQUS 评论    self.toolbox.router.get('/(.*)', self.toolbox.networkOnly, {        origin: /disqus\.com/    });    self.toolbox.router.get('/(.*)', self.toolbox.networkOnly, {        origin: /disquscdn\.com/    });      // 缓存所有 Google 字体    self.toolbox.router.get('/(.*)', self.toolbox.cacheFirst, {        origin: /(fonts\.gstatic\.com|www\.google-analytics\.com)/,        cache: {          name: staticVendorCacheName,          maxEntries: maxEntries        }    });     self.toolbox.router.get('/content/(.*)', self.toolbox.fastest, {        cache: {          name: contentCacheName,          maxEntries: maxEntries        }    });     self.toolbox.router.get('/*', function (request, values, options) {        if (!request.url.match(/(\/ghost\/|\/page\/)/) && request.headers.get('accept').includes('text/html')) {            return self.toolbox.fastest(request, values, options);        } else {            return self.toolbox.networkOnly(request, values, options);        }        }, {        cache: {            name: contentCacheName,            maxEntries: maxEntries        }    });     // immediately activate this serviceworker    self.addEventListener('install', function (event) {        return event.waitUntil(self.skipWaiting());    });     self.addEventListener('activate', function (event) {        return event.waitUntil(self.clients.claim());    });  })();

启用 Service Workers

在主题下的 default.hbs 文件  标签前加入下面代码

<script> var serviceWorkerUri = '/serviceworker.js'; if ('serviceWorker' in navigator) { navigator.serviceWorker.register(serviceWorkerUri).then(function() { if (navigator.serviceWorker.controller) { console.log('Assets cached by the controlling service worker.'); } else { console.log('Please reload this page to allow the service worker to handle network operations.'); } }).catch(function(error) { console.log('ERROR: ' + error); }); } else { console.log('Service workers are not supported in the current browser.'); } </script>
1234567891011121314151617 <script>    var serviceWorkerUri = '/serviceworker.js';     if ('serviceWorker' in navigator) {          navigator.serviceWorker.register(serviceWorkerUri).then(function() {          if (navigator.serviceWorker.controller) {            console.log('Assets cached by the controlling service worker.');          } else {            console.log('Please reload this page to allow the service worker to handle network operations.');          }        }).catch(function(error) {          console.log('ERROR: ' + error);        });    } else {        console.log('Service workers are not supported in the current browser.');    }    </script>

然后强制刷新一下吧!再次加载后按F12查看一下,加载的内容大小会减小很多。

 


[建站教程]历史优惠活动内容
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • 香港虚拟主机建站教程 云服务器建站教程
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • SiteGround建站教程→使用Site Tools一键安装WordPress博客
  • 新手站建之-wordpress建站教程
  • 新手站建之-飞飞影视建站教程
  • 建站教程 centos系统搭建Mastodon
  • Windows VPS/服务器安装宝塔面板建站教程 – 宝塔面板安装
  • UCloud优刻得云服务器建站教程1 – 云服务器购买和优惠券领取使用
  • UCloud云服务器建站教程2 – UCloud服务器后台管理及安全组设置
  • UCloud云服务器建站教程3 – UCloud安装宝塔面板/LNMP一键包WEB环境
  • LEMP(Linux/Nginx/MySQL/PHP)一键包安装及SFTP快速建站教程
  • 腾讯云服务器建站教程 – 重装系统/更换IP地址/重置密码
  • 腾讯云服务器建站教程 – 安全组规则创建和授权云服务器实例
  • 腾讯云服务器建站教程 – 定时快照备份和镜像备份的功能策略
  • Windows VPS/服务器建站教程进阶系列 – Windows2012安装IIS7图文
  • Windows VPS/服务器建站教程进阶系列 – BT宝塔软件部署Web环境体验
  • Windows VPS/服务器建站教程进阶系列 – 一键phpStudy软件环境安装
  • Windows VPS/服务器建站教程进阶系列 – 绑定域名安装WordPress
  • Windows VPS/服务器建站教程进阶系列 – Windows2012安装IIS7图文
  • Windows VPS/服务器建站教程进阶系列 – BT宝塔软件部署Web环境体验
  • Windows VPS/服务器建站教程进阶系列 – 一键phpStudy软件环境安装
  • Windows VPS/服务器建站教程进阶系列 – 绑定域名安装WordPress
  • #建站教程#centos系统搭建Mastodon
  • 新手站建之-wordpress建站教程
  • 新手站建之-Discuz论坛建站教程
  • 新手站建之-PHPwind论坛建站教程
  • 新手站建之-织梦DedeCMS建站教程
  • 新手站建之-飞飞影视建站教程
  • 新手站建之-Freekan电影站建站教程
  • #建站教程#centos系统搭建Mastodon
  • 新手站建之-wordpress建站教程
  • 新手站建之-Discuz论坛建站教程
  • 新手站建之-PHPwind论坛建站教程
  • 新手站建之-织梦DedeCMS建站教程
  • 新手站建之-飞飞影视建站教程
  • 新手站建之-Freekan电影站建站教程
  • #建站教程#centos系统搭建Mastodon
  • 新手站建之-wordpress建站教程
  • 新手站建之-Discuz论坛建站教程
  • 新手站建之-PHPwind论坛建站教程
  • 新手站建之-织梦DedeCMS建站教程
  • 新手站建之-飞飞影视建站教程
  • 新手站建之-Freekan电影站建站教程
  • #建站教程#centos系统搭建Mastodon

  • 猜你可能想看的VPS


    转载请注明原文地址:http://140.238.13.167:12355/read-31163.html

    下一篇       上一篇