V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Clisad236
V2EX  ›  程序员

有没有一种浏览器扩展或者程序,能让用户事先把某网站的 css 等放到本地磁盘或 localStorage,然后读取解析渲染

  •  
  •   Clisad236 · Apr 11, 2019 · 3477 views
    This topic created in 2583 days ago, the information mentioned may be changed or developed.

    有没有一种浏览器扩展或者程序,操作界面傻瓜化,类似 Stylus,能让用户事先把某网站的 css、js 等静态资源放到本地磁盘或 localStorage,然后读取本地资源渲染。

    举例:

    1. 用户输入网址(假设是个 html 页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回 html 文件。 比如访问 https://www.v2ex.com

    2. 浏览器开始载入 html 代码,发现标签内有一个<link>标签引用外部 CSS 文件。

    <link rel="stylesheet" type="text/css" media="screen" href="/css/basic.css?v=3.9.8.3">
    
    1. 浏览器又发出 CSS 文件的请求,服务器返回这个 CSS 文件。
      用户事先把basic.css放到D:\css\basic.css(或者扩展文件夹)。
      这时 此程序(扩展)起作用:先判断本地磁盘有无basic.css,有则直接从本地读取,无才向服务器请求。

    2. 浏览器继续载入 html 中部分的代码,并且 CSS 文件已经拿到手了,可以开始渲染页面了。

    关键是

    1. 这是用户端自己的事,类似localStorage自定义数据,但localStorage有大小限制,此扩展的存储上限与本地磁盘的大小有关。
    2. 用户可以自定义哪些网站哪些静态资源,放多少,完全根据用户自己的本地磁盘大小有关。 比如我可以在扩展里添加定义一个 www.v2ex.com ,然后在本地磁盘或者扩展文件夹里放 desktop.css ,basic.css ,style.css 以及 [email protected] ,然后规定访问 V2EX 时这四个资源就从本地读取,其他都从服务器请求。也可以定义多个网站,只要本地磁盘够大。
    3. 这个扩展就类似 Stylus,Stylus 是 用户样式管理器,可以自定义某网站的样式;
      以及 Tampermonkey,Tampermonkey 是 用户脚本管理器,可以自定义某网站的脚本。
      如果它存在,可以叫用户站点静态资源管理器,可以自定义某网站的哪些静态资源从本地读取。

    参考:

    Supplement 1  ·  Apr 11, 2019
    浏览器缓存有时间限制,(手动)清理了就没有了。也有空间的大小限制。而我说的则可以永久存在。
    目的可以加快访问速度,或者能访问一些被 强 网站 的静态资源。
    Supplement 2  ·  Apr 11, 2019
    相当于用户端的 local cdn
    18 replies    2019-04-12 13:24:12 +08:00
    paopjian
        1
    paopjian  
       Apr 11, 2019
    安全吗?
    油猴可以修改页面脚本指向本地文件吗?可以的话自己写一个就完了
    lzvezr
        2
    lzvezr  
       Apr 11, 2019 via iPhone
    有一个可以保存 cdn 资源的,之前用过,后来发现和 https everywhere 冲突,就不用了
    momocraft
        3
    momocraft  
       Apr 11, 2019
    拦截 http 请求的扩展有的
    不明白为什么这里要扯上 localStorage
    rrfeng
        4
    rrfeng  
       Apr 11, 2019 via Android
    浏览器自带缓存,不明白搞这个的意义是什么。
    如果要拦截修改跟 local storage 也没啥关系。

    缓存估计没 API
    annielong
        5
    annielong  
       Apr 11, 2019
    firefox 有个扩展,专门做这个,可以使用本地样式表覆盖网站的
    shawndev
        6
    shawndev  
       Apr 11, 2019   ❤️ 1
    换个思路把这些资源 proxy 到本地呢。
    codehz
        7
    codehz  
       Apr 11, 2019
    https://add0n.com/local-cdn.html 了解一下,不过只是帮你弄了几个常见库(
    jeffAQA
        8
    jeffAQA  
       Apr 11, 2019
    service worker 和 cache 应该就可以实现你想要的效果啦吧
    learnshare
        9
    learnshare  
       Apr 11, 2019
    浏览器自己不是有文件资源缓存机制么?
    然后你的目的是什么?
    herozzm
        10
    herozzm  
       Apr 11, 2019
    估计你想第一次给人看就造成速度很快的感觉
    whypool
        11
    whypool  
       Apr 11, 2019
    manifest.json 了解一下,还能离线使用
    wenhainan
        12
    wenhainan  
       Apr 11, 2019
    浏览器本身就有缓存机制,不明白你啥意思.
    gzlock
        13
    gzlock  
       Apr 11, 2019
    我的扩展支持将网站的网络资源重定向到其它网址,功能展示:
    https://www.v2ex.com/t/533001
    不过好像跟楼主的需求不太一样
    Vegetable
        14
    Vegetable  
       Apr 11, 2019   ❤️ 1
    [http 缓存]( https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Caching_FAQ)
    你读完这篇文档之后,就会发现你提的大部分需求根本就是浏览器默认行为.
    ducklyl
        15
    ducklyl  
       Apr 11, 2019
    浏览器会这么干的,只要缓存设定好就可以
    learnshare
        16
    learnshare  
       Apr 11, 2019   ❤️ 2
    @Clisad236 了解一下 HTTP 缓存相关的知识
    缓存并不应该是永久的,浏览器已经尽量避免任何多余和重复的加载了
    sunocean
        17
    sunocean  
       Apr 11, 2019
    现在网速不是瓶颈了吧?而且不觉得这样子对用户来说太麻烦了吗?毕竟浏览器的自动缓存可以满足大部分人的需求。
    最后,没有现成就自己写一个 手动狗头
    no1xsyzy
        18
    no1xsyzy  
       Apr 12, 2019
    一方面,扩展 decentraleyes 可以进行大多数常见资源的重定向。

    - 支持的网络:Google Hosted Libraries, Microsoft Ajax CDN, CDNJS (Cloudflare), jQuery CDN (MaxCDN), jsDelivr (MaxCDN), Yandex CDN, Baidu CDN, Sina Public Resources, 及 UpYun Libraries。

    - 打包的资源:AngularJS, Backbone.js, Dojo, Ember.js, Ext Core, jQuery, jQuery UI, Modernizr, MooTools, Prototype, Scriptaculous, SWFObject, Underscore.js 及 Web Font Loader。

    能够直接覆盖掉这些 CDN 的这些地址,替换为本地版本。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4051 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    ♥ Do have faith in what you're doing.