Skip to content

History

Showing with 16 additions and 16 deletions.
  1. +16 −16 Per-site-switches.md
32 changes: 16 additions & 16 deletions Per-site-switches.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

The per-site switches allow you to control uBlock Origin (uBO)'s behavior on a per-site basis.

![Popup UI](https://user-images.githubusercontent.com/585534/87855535-01b71e00-c8e7-11ea-9744-4e21429cfd7d.png)
![Popup UI](https://user-images.githubusercontent.com/95879668/172274761-4a2c1018-e6c8-4d79-baab-4d6901b8f211.png)

Changes to the state of per-site switches are temporary until you make them permanent by clicking the padlock icon. Pressing <kbd>Ctrl</kbd> (<kbd>Cmd</kbd> on Mac) when toggling switches will make them permanent immediately.

![eraser and padlock](https://user-images.githubusercontent.com/585534/87855454-8190b880-c8e6-11ea-9d8b-5b3a4baf120d.png)
![eraser and padlock](https://user-images.githubusercontent.com/95879668/172276144-f3be783c-b0c1-45d2-b926-88d793e3fde4.png)
<br><sup>Eraser and padlock icons</sup>

***
Expand All @@ -25,7 +25,7 @@ Changes to the state of per-site switches are temporary until you make them perm

By default, popups are allowed unless there is a filter to block them. When this setting is enabled, **all** popups will be unconditionally blocked for the current site, regardless of filters:

![Popup UI](https://user-images.githubusercontent.com/585534/87855339-a0db1600-c8e5-11ea-987f-4445b8d83a1a.png)<br><sup>The badge shows the number of popups that have been closed on the page.</sup>
![Popup UI](https://user-images.githubusercontent.com/95879668/172276698-64e59e13-031f-4f10-9aa1-3d4594f284a3.png)<br><sup>The badge shows the number of popups that have been closed on the page.</sup>

No popups rules appear as `no-popups: [hostname] true` entries in the [_My rules_ pane](./Dashboard:-My-rules).

Expand All @@ -39,11 +39,11 @@ Blocking popups depends on whether the proper filters are present in the selecte

The second icon is to toggle on/off the blocking of large media elements for the current site. The primary purpose of this feature is to save bandwidth. A side effect is to possibly speed up the page load.

![Popup UI](https://user-images.githubusercontent.com/585534/87855343-a5073380-c8e5-11ea-88ef-13f8529fb369.png)<br><sup>The badge shows the number of large media elements that have been blocked on the page.</sup>
![Popup UI](https://user-images.githubusercontent.com/95879668/172277040-a027a86f-3927-427d-a388-b58714338e1f.png)<br><sup>The badge shows the number of large media elements that have been blocked on the page.</sup>

By default, this setting is disabled. The global default can be enabled in the [_Settings_ pane](./Dashboard:-Settings) in the [dashboard](./Dashboard).

![a](https://user-images.githubusercontent.com/585534/46021852-818b4d00-c0af-11e8-8fdb-e028bc20e8ae.png)
![a](https://user-images.githubusercontent.com/95879668/172279019-fcade32f-5fc0-4d00-8a51-e62820e0f437.png)

The threshold size -- a global setting -- to decide when to block or not is also configurable. The threshold size can be set to zero: this will cause all media elements to be blocked. For the sake of documentation, let's refer to media elements (images, videos, audios) that are larger than the set size as _"large media elements"_.

Expand Down Expand Up @@ -79,29 +79,29 @@ If the media elements do not have a `Content-Length` header present, then this s

## No cosmetic filtering

["Cosmetic filtering" in uBO](./Does-uBlock-Origin-block-ads-or-just-hide-them%3F#cosmetic-filters) is what is known as "element hiding" in Adblock Plus. The purpose of these filters is to hide the content of the page that cannot be blocked by network filters.
["Cosmetic filtering" in uBO](./Does-uBlock-Origin-block-ads-or-just-hide-them%3F#cosmetic-filters) is what is known as "element hiding" in Adblock Plus (ABP). The purpose of these filters is to hide the content of the page that cannot be blocked by network filters.

You can easily toggle on/off cosmetic filtering for a given site:

![Popup UI](https://user-images.githubusercontent.com/585534/87855347-a6d0f700-c8e5-11ea-84f8-d64ce9ddd08a.png)<br><sup>The badge shows the number of DOM elements that have been hidden on the page.</sup>
![Popup UI](https://user-images.githubusercontent.com/95879668/172279368-c7dbc860-575a-44eb-af38-ed4edb93ad0f.png)<br><sup>The badge shows the number of DOM elements that have been hidden on the page.</sup>

When present, the badge number indicates the number of elements hidden on the page by uBO as a result of cosmetic filtering. If you disable cosmetic filtering while there are hidden elements on the page, these elements will become visible/hidden as you toggle off/on cosmetic filtering.

A good example of cosmetic filtering in action is the ads showing up with the results of a Google Search page ([example](https://www.google.com/search?q=buy+car&oq=buy+car)).
A good example of cosmetic filtering in action is the ads showing up with the results of a Google Search page ([example](https://www.google.com/search?q=buy+car)).

Cosmetic filtering is always enabled by default.

> ***
> **Tips**
>
> It is often suggested adding a custom static filter such as `@@||example.com^$elemhide` or `@@||example.com^$generichide` to prevent "adblock" detection by specific sites ([example](https://adblockplus.org/forum/viewtopic.php?f=2&t=30763#p124225), [example](https://forum.adblockplus.org/viewtopic.php?f=2&t=43961)). You can accomplish the same goal more simply by just toggling off cosmetic filtering using this switch while on the problematic site.
> It is often suggested adding a custom static filter such as `@@||example.com^$elemhide` or `@@||example.com^$generichide` to prevent "adblock" detection by specific sites ([example](https://forum.adblockplus.org/viewtopic.php?f=2&t=30763#p124225), [example](https://forum.adblockplus.org/viewtopic.php?f=2&t=43961)). You can accomplish the same goal more simply by just toggling off cosmetic filtering using this switch while on the problematic site.
>
> This switch can help uBO to further lower its CPU-cycle footprint, which might be beneficial on devices with limited CPU-cycle resources -- and thus helping extend battery life and speed up page load times. The idea is to disable cosmetic filtering everywhere by default and to enable it only for those sites which really benefit from it.
> ***
To disable cosmetic filtering everywhere by default, go to the [_Settings_ pane](./Dashboard:-Settings) in the [dashboard](./Dashboard), and check the option _"Disable cosmetic filtering"_ under the _"Default behavior"_ header:

![Disable cosmetic filtering everywhere by default](https://user-images.githubusercontent.com/585534/46022246-3887c880-c0b0-11e8-9edc-ded22a011996.png)
![Disable cosmetic filtering everywhere by default](https://user-images.githubusercontent.com/95879668/172282204-f28a6464-9f4e-4c73-a2e9-c77b6dfc3664.png)

From then on, cosmetic filtering will be turned off everywhere by default, and to turn it on for a specific site where it is really needed, just enable it using the switch in uBO's popup panel.

Expand All @@ -111,11 +111,11 @@ From then on, cosmetic filtering will be turned off everywhere by default, and t

You can prevent web fonts from being downloaded for the current site:

![Popup UI](https://user-images.githubusercontent.com/585534/87855349-a8022400-c8e5-11ea-92fb-b7cf6cc431fc.png)<br><sup>The badge shows the number of font resources that have been seen on the page.</sup>
![Popup UI](https://user-images.githubusercontent.com/95879668/172282836-b3033c8c-de57-4138-a017-814d7f137c3a.png)<br><sup>The badge shows the number of font resources that have been seen on the page.</sup>

Because of security and privacy concerns, many prefer to block all web fonts by default -- toggle the appropriate default behavior in the [_Settings_ pane](./Dashboard:-Settings) in the [dashboard](./Dashboard):

![Block remote fonts everywhere by default](https://user-images.githubusercontent.com/585534/46022554-da0f1a00-c0b0-11e8-9689-542f26b7126e.png)
![Block remote fonts everywhere by default](https://user-images.githubusercontent.com/95879668/172284772-509aac36-e09c-4eec-8c05-8a6bce778f4e.png)

This will block all web fonts everywhere by default, and in this case, you can toggle off the switch to allow web fonts on a per-site basis.

Expand All @@ -131,15 +131,15 @@ to the _"My filters"_ pane. If you want to allow third-party fonts for some spec

## No scripting

New in [1.17.0](https://github.com/gorhill/uBlock/commit/3c85c0319462ca331d53c350fba4bc6c1b2ef96f)
New in [1.17.0](https://user-images.githubusercontent.com/95879668/172285013-ce9bf47a-b0f4-4d90-a401-17930aaac01f.png)

Wholly disable JavaScript for a given site.

![Popup UI](https://user-images.githubusercontent.com/585534/87855351-a9cbe780-c8e5-11ea-87ed-ee6ea2693fad.png)
<br>The badge shows the approximate number of script resources that have
been seen on the page (the number is limited to 99 because of layout constraints)

![purple badge](https://user-images.githubusercontent.com/886325/64036667-039fb380-cb54-11e9-8199-cf042837d481.png)
![purple badge](https://user-images.githubusercontent.com/95879668/172287593-4e3f0a92-553f-43c0-90a2-ed83cd084d00.png)
<br>Starting with [v1.21.7b5](https://github.com/gorhill/uBlock/commit/7ff750eaf6007bdea4e843d3314fc7275b1ce945), a purple badge on uBO toolbar button indicates activation of the "No scripting" switch.

This master switch has blocking precedence over dynamic filtering rules and static filters related to script resources.
Expand All @@ -148,8 +148,8 @@ Furthermore, when JavaScript is disabled through this master switch, [`noscript`

As with some other per-site switches, the default state of the per-site JavaScript master switch can be set in the [_Settings_ pane](./Dashboard:-Settings), thus allowing to disable JavaScript everywhere by default, and enable on a per-site basis:

![a](https://user-images.githubusercontent.com/585534/46022411-84d30880-c0b0-11e8-9055-7e37b113ec13.png)
![a](https://user-images.githubusercontent.com/95879668/172288712-6b744cfd-ca36-4ae7-9c6d-72a841a62ce2.png)

JavaScript master switch rules appear as `no-scripting: [hostname] true` entries in the [_My rules_ pane](./Dashboard:-My-rules).

The JavaScript master switch can be disabled through the "Relax blocking mode" [keyboard shortcut](./Keyboard-shortcuts).
The JavaScript master switch can be disabled through the "Relax blocking mode" [keyboard shortcut](./Keyboard-shortcuts).