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