详细介绍

获取网页的 monolith(单个静态 HTML 文件)。 “Monolith of Web”是一款从命令行工具 [Monolith][1] 移植而来的 Chrome 扩展程序。Monolith 是一个将网页下载为单个静态 HTML 文件的命令行工具。“Monolith of Web”通过将 Monolith(使用 Rust 编写)编译为 WebAssembly,以浏览器扩展程序的形式提供相同功能。 ## 使用方法 1. 前往你想保存的网页 2. 点击浏览器栏中的“Monolith of Web”图标(将打开上方所示的弹出窗口) 3. 点击“Get Monolith”按钮 4. 等待处理完成 5. 生成的单个静态 HTML 文件会保存在下载文件夹中 通过切换弹出窗口底部的图标,你可以决定生成的 HTML 文件是否包含以下内容。 - JavaScript - CSS - `` - 图片 右下角的按钮用于切换是否允许 CORS 请求。详情请阅读下方的“权限”和“后台页面中的 CORS 请求”部分。 ## 权限 - **必需权限** - `activeTab`:此扩展程序从当前活动标签页获取 HTML 文本和页面标题,以生成 monolith - `storage`:此扩展程序会记住弹出窗口底部切换按钮的上次状态。 - **可选权限** - `http://*/*` 和 `https://*/*`:允许后台页面发起任何跨域请求。这是运行时权限,因此此扩展程序默认不会请求。**只有当你发现后台页面因 CORS 错误而生成了损坏的 HTML 文件时,才请启用此选项。**下一节“后台页面中的 CORS 请求”将解释需要这些权限的原因。 ## 后台页面中的 CORS 请求 此扩展程序在 Chrome 扩展程序的后台页面中生成单个 HTML 文件。由于内容脚本中的 CSP 不适用于后台页面,因此无法在后台页面中获取内容 HTML 的某些资源。 默认情况下,此扩展程序会忽略后台页面中的 CORS 错误。通常这不会造成问题,因为受 CSP 保护的资源通常是不会影响主要内容的脚本。但 CORS 错误可能导致生成的单个 HTML 页面损坏。 当你发现后台页面因 CORS 错误而生成了损坏的页面时,请启用弹出窗口右下角的“allow CORS requests”按钮。系统会显示权限对话框,请求允许在后台页面发送 CORS 请求。接受后,CORS 请求错误将被禁用,所有资源应该都能无错误地获取。 使用运行时权限生成单个 HTML 文件后,出于安全考虑,此扩展程序会尽快移除这些权限。 [0]: https://github.com/rhysd/monolith-of-web [1]: https://github.com/Y2Z/monolith [2]: https://www.youtube.com/watch?v=xBIrFlYE1W0