有没有一种浏览器扩展或者程序,操作界面傻瓜化,类似 Stylus,能让用户事先把某网站的 css、js 等静态资源放到本地磁盘或 localStorage,然后读取本地资源渲染。
举例:
-
用户输入网址(假设是个 html 页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回 html 文件。 比如访问 https://www.v2ex.com
-
浏览器开始载入 html 代码,发现标签内有一个<link>标签引用外部 CSS 文件。
<link rel="stylesheet" type="text/css" media="screen" href="/css/basic.css?v=3.9.8.3">
-
浏览器又发出 CSS 文件的请求,服务器返回这个 CSS 文件。
用户事先把basic.css放到D:\css\basic.css(或者扩展文件夹)。
这时 此程序(扩展)起作用:先判断本地磁盘有无basic.css,有则直接从本地读取,无才向服务器请求。 -
浏览器继续载入 html 中部分的代码,并且 CSS 文件已经拿到手了,可以开始渲染页面了。
关键是
- 这是用户端自己的事,类似
localStorage自定义数据,但localStorage有大小限制,此扩展的存储上限与本地磁盘的大小有关。 - 用户可以自定义哪些网站放哪些静态资源,放多少,完全根据用户自己的本地磁盘大小有关。 比如我可以在扩展里添加定义一个 www.v2ex.com ,然后在本地磁盘或者扩展文件夹里放 desktop.css ,basic.css ,style.css 以及 [email protected] ,然后规定访问 V2EX 时这四个资源就从本地读取,其他都从服务器请求。也可以定义多个网站,只要本地磁盘够大。
- 这个扩展就类似 Stylus,Stylus 是 用户样式管理器,可以自定义某网站的样式;
以及 Tampermonkey,Tampermonkey 是 用户脚本管理器,可以自定义某网站的脚本。
如果它存在,可以叫用户站点静态资源管理器,可以自定义某网站的哪些静态资源从本地读取。
参考: