Documentation
The extension requires a version of Chrome 120 or higher. Other browsers are not supported at this time.
Rules
In the context of the extension, a rule is JavaScript and/or CSS code that is triggered on web pages that match its URL patterns.
URL patterns.
- A pattern looks like
<scheme>://<host>/<path>:https://site.com/*; - Several patterns are separated by commas:
https://one.com/*, https://two.com/*; - An exclusion is marked with
!:!https://site.com/admin/*.
The extension turns every pattern into the browser's match pattern format, and the popup and the badge show exactly where the browser will run the rule.
A pattern with a scheme is used almost as written:
| You write | The rule runs on |
|---|---|
https://site.com/* | site.com and www.site.com, not other subdomains |
https://*.site.com/* | site.com and all its subdomains |
https://site.com/path | pages starting with /path on site.com and www.site.com |
https://site.com | the whole site.com and www.site.com |
http*://site.com | site.com and www.site.com over http and https |
http://localhost:*/* | localhost on any port |
A pattern without a scheme means the site with its subdomains, over http and https:
| You write | The rule runs on |
|---|---|
site.com, *site.com*, *.site.com | site.com and all its subdomains |
www.site.com | www.site.com and site.com |
пример.рф | пример.рф and its subdomains |
site.com/path | pages starting with /path on site.com and its subdomains |
/admin | pages with /admin in the path on any site |
* | any site |
An exclusion with a scheme is used exactly as written: https://site.com/*, !https://www.site.com/* runs on site.com, but not on www.site.com. An exclusion without a scheme follows the table above: !site.com/admin excludes /admin on site.com and its subdomains.
Marked in red is a pattern the browser does not accept: a * inside the host (https://shop*.site.com/*, https://site.*/*) or a scheme the extension cannot run on (chrome-extension://, ws://). Such a pattern is skipped and the rule's other patterns keep working. If an exclusion is rejected, the rule does not run anywhere until you fix it — otherwise it would run on the pages you excluded.
If the old URL matching mode is required, you can use the script from the cookbook
JavaScript properties
Isolated environment: if enabled, the JS code runs in an isolated environment where the JS context of the page is not available, but the DOM is available.All Frames: if enabled, code will be injected into all frames. Each frame is checked against the original URLs separately.Run at start: If enabled, the script is injected before the DOM is built, otherwise after, but before resources such as images and frames are loaded. Note that theDOMContentLoadedevent will no longer be triggered in this case.
CSS Properties
Programmatic injection:- Enabled: initially low style priority, but maximized when
!importantis used. Live CSS editing mode is available. Can be used without “developer mode”. - Disabled: higher style priority by placing
<style/>at the end of the DOM. Unavailable modes: live CSS. This mode is not available without “developer mode”.
- Enabled: initially low style priority, but maximized when
Automatic !important: adds!importantto all CSS properties in already compiled code.
Shared rules
“Shared rules” allows you to build dependencies between different rules and explicitly control the order in which they are loaded. Any rule can be marked as “shared” - this will add it to the list of modules of other rules. Only JS and CSS content is taken from the included rules, other properties of the rule are ignored.
Other features
- The
enabledrule marker is ignored when the rule is shared and is included by another rule; - The
save to cloudmarker only indicates that the rule is included in the storage during synchronization and does not perform any additional actions; - The style mode is set by the "Sass preprocessor" button in the style panel header: on (default) — the
SASSorSCSSpreprocessor, the syntax is picked automatically by the presence of{;}characters in the code; off — the style is applied as written, without a preprocessor.
Modules
External JS and CSS modules can be attached to rules, they run before the rules. https://... links are supported, the resource type is recognized by the extension.
The module content is loaded and cached in the extension storage, to update it you need to click “download again” in the edit window.
Storage
Improvements to backup and sync functionality are just forthcoming, but for now backups work only manually and only in full storage replacement mode.
Google Sync
If synchronization is enabled in your browser, you can upload backups to the cloud under your Google account. This method requires no additional authorization or configuration, storage.sync is the standard sync type for extensions.
But it is limited to 100kb, so before uploading, the content of all external resources is scrubbed from the storage, all generative data is removed, and the resulting output is compressed using CompressionStream. If you still don't have enough space, you can disable cloud synchronization on unimportant scripts.