微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将扩展名从.ff更改为.ff.js可以提高速度?

如何解决将扩展名从.ff更改为.ff.js可以提高速度?

好!我最近做了一个小框架,可以在顶部建立我的小型网页和项目。

今天,我正在检查许多有关加快速度的技巧的文章。我对提高xhr速度感兴趣。

我正在阅读,发现认情况下通常会缓存一些文件扩展名,而其他文件扩展名则不会。

我在框架上使用filename.ff特殊扩展名,以了解访问资源时要查找的文件

作为实例 当您点击此页面https://bugs.stringmanolo.ga/#projects/fastframework

中的快速框架链接时,将使用XHR从https://github.com/StringManolo/bugWriteups/blob/master/projects/fastframework/fastframework.ff下载https://bugs.stringmanolo.ga/#projects

我的问题是: 如果我将扩展名从fastframework.ff更改为fastframework.ff.js,该文件是否会被浏览器缓存,然后下载速度会更快?也可以离线工作吗?还是已经缓存?更改框架代码以使用.ff.js根本不会有所不同吗?

解决方法

我终于使用服务工作者和缓存API以更好的方式解决了它。 我让您在这里使用过的代码对您有所帮助,

ff.js(ff是ff = {}对象)

/*** Cache Service Workers Code */
ff.cache = {}
ff.cache.resources = [];

ff.cache.start = function(swName,ttl) {
  let tl = 0; 
  tl = localStorage.cacheTTL;
  if (+tl) {
    const now = new Date();
    if (now.getTime() > +localStorage.cacheTTL) {
      localStorage.cacheTTL = 0;
      caches.delete("cachev1").then(function() {
      });
    } 
  } else {
    navigator.serviceWorker.register(swName,{
      scope: './'
    })
    .then(function(reg) {
      caches.open("cachev1")
      .then(function(cache) { 
        cache.addAll(ff.cache.resources)
        .then(function() {
      localStorage.cacheTTL = +(new Date().getTime()) + +ttl;
        });
      });
    })
    .catch(function(err) {
    }); 
  } 
};

ff.cache.clean = function() {
  caches.delete("cachev1").then(function() { 

  });
};
/* End Cache Service Workers Code ***/

cache.js(这是服务人员拦截请求)

self.addEventListener('fetch',(e) => {
 e.respondWith(caches.match(e.request).then((response) => {
  if(response)
   return response
  else
   return fetch(e.request)
 }) )
})

main.js(这是index.html文件中包含的主文件)

ff.cache.resources = [
"./logs/dev/historylogs.ff","./blogEntries/xss/xss1.ff","./blogEntries/xss/w3schoolsxss1.ff","./blogEntries/csrf/w3schoolscsrf1.ff","./projects/fastframework/fastframework.ff","./projects/jex/jex.ff","./ff.js","./main.js","./main.css","./index.html","./resources/w3schoolspayload.png","./resources/w3schoolsxsslanscape.png","./resources/w3schoolsxss.png"];
ff.cache.start("./cache.js",104800000); 
/* 604800000 milliseconds equals 1 week */

您可以在https://bugs.stringmanolo.ga/index.html中实时测试它,它是从github存储库托管的,以防您需要查看更多代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。