Skip to content

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 writeThe 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/pathpages starting with /path on site.com and www.site.com
https://site.comthe whole site.com and www.site.com
http*://site.comsite.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 writeThe rule runs on
site.com, *site.com*, *.site.comsite.com and all its subdomains
www.site.comwww.site.com and site.com
пример.рфпример.рф and its subdomains
site.com/pathpages starting with /path on site.com and its subdomains
/adminpages 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 the DOMContentLoaded event will no longer be triggered in this case.

CSS Properties ​

  • Programmatic injection:
    • Enabled: initially low style priority, but maximized when !important is 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”.
  • Automatic !important: adds !important to 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 enabled rule marker is ignored when the rule is shared and is included by another rule;
  • The save to cloud marker 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 SASS or SCSS preprocessor, 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.