Monolith
Get a monolith (single static HTML file) of the web page
什麼是Monolith?
Monolith是由rhysd開發的Chrome擴展程式,該擴展的主要功能是“Get a monolith (single static HTML file) of the web page”。
擴展截圖
下載Monolith擴展crx文件
下載Monolith擴展crx格式的文件,手動將Chrome擴充功能安裝到瀏覽器中,也可以將crx文件分享給朋友,輕鬆安裝Chrome擴充功能。
擴展使用說明
'Monolith of Web' is a Chrome extension ported from CLI tool [Monolith][1]. Monolith is a CLI tool to
download a web page as static single HTML file. 'Monolith of Web' provides the same functionality as
a browser extension by compiling Monolith (written in Rust) into WebAssembly.
## Usage
1. Go to a web page you want to store
2. Click 'Monolith of Web' icon in a browser bar (above popup window will open)
3. Click 'Get Monolith' button
4. Wait for the process completing
5. The generated single static HTML file is stored in your downloads folder
By toggling icons at bottom of the popup window, you can determine to or not to include followings
in the generated HTML file.
- JavaScript
- CSS
- ``
- Images
The button at right-bottom toggles if allow CORS request or not. Please read following 'Permissions'
section and 'CORS Requests in Background Page' section for more details.
## Permissions
- **Required permissions**
- `activeTab`: This extension gets an HTML text and a page title from the active tab to generate a monolith
- `storage`: This extension remembers the last state of toggle buttons at bottom in the popup window.
- **Optional permissions**
- `http://*/*` and `https://*/*`: Allow any cross-origin requests in background page. This is runtime
permission so this extension does not require by default. **Only when you see a broken HTML file is
generated due to CORS error in background page, please enable this option.** The reason of these
permissions are explained in next 'CORS Requests in Background Page' section.
## CORS Requests in Background Page
This extension generates a single HTML file in background page of Chrome extension. Since CSP in a
content script is not applied in a background page, some resources in content's HTML cannot be fetched
in background page.
By default, this extension ignores CORS errors in background page. It is usually not a problem since
resources protected by CSP are usually scripts which don't affect main content. But a broken single HTML
page may be generated due to CORS errors.
When you see a broken page due to the CORS error in background page, please enable 'allow CORS requests'
button at right-bottom in the popup window. Permission dialog will appear to require permissions for
sending CORS requests in background page. After accepting it, CORS request error is disabled and all
resources should be fetched with no error.
After generating a single HTML file with the runtime permissions, this extension will remove the permissions
as soon as possible for security.
[0]: https://github.com/rhysd/monolith-of-web
[1]: https://github.com/Y2Z/monolith
[2]: https://www.youtube.com/watch?v=xBIrFlYE1W0 擴展基本資訊
| 名稱 | |
| ID | koalogomkahjlabefiglodpnhhkokekg |
| 官方網址 | https://chromewebstore.google.com/detail/monolith/koalogomkahjlabefiglodpnhhkokekg |
| 簡介 | Get a monolith (single static HTML file) of the web page |
| 檔案大小 | 998 KB |
| 安裝次數 | 905 |
| 目前版本 | 0.1.3 |
| 更新時間 | 2020-01-27 |
| 上架時間 | 2020-01-26 |
| 評分 | 4.75/5 共 8 次評分 |
| 開發者 | rhysd |
| 付費類型 | free |
| 擴展官網 | https://github.com/rhysd/monolith-of-web |
| 支援的語言 | en |
| manifest.json | |
{
"update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
"name": "Monolith",
"version": "0.1.3",
"description": "Get a monolith (single static HTML file) of the web page",
"manifest_version": 2,
"permissions": [
"activeTab",
"storage"
],
"optional_permissions": [
"http:\/\/*\/*",
"https:\/\/*\/*"
],
"icons": {
"16": "icon\/icon-16.png",
"32": "icon\/icon-32.png",
"48": "icon\/icon-48.png",
"96": "icon\/icon-96.png",
"128": "icon\/icon-128.png",
"256": "icon\/icon-256.png"
},
"browser_action": {
"default_icon": {
"16": "icon\/icon-16.png",
"32": "icon\/icon-32.png"
},
"default_title": "Monolith",
"default_popup": "popup.html"
},
"background": {
"page": "background.html",
"persistent": false
},
"content_security_policy": "script-src 'self' 'wasm-eval'; object-src 'self'"
} | |