diff --git a/public/ifinance-sw.js b/public/ifinance-sw.js new file mode 100644 index 0000000..39deffb --- /dev/null +++ b/public/ifinance-sw.js @@ -0,0 +1,147 @@ +// ifinance 文件缓存 Service Worker +// ------------------------------------------------------------ +// 宿主把 iframe 指向 /__ifinance__/?h=&t=, 由本 SW: +// 1. 按 hash 从 Cache Storage 取本地缓存 (内容寻址, 索引更新后自然失效) +// 2. 未命中时只拉当前这一个文件 (按需加载, 不预下载整个模块包) +// 3. 用 sha256 校验后再写入缓存; 校验失败仍然返回内容, 但不落盘 +// +// 为什么不用 blob: URL 直接渲染: blob: 文档会继承宿主页面的 CSP +// (script-src 'self'), 内嵌看板的