The per-site switches allow you to control uBlock Origin (uBO)'s behavior on a per-site basis.
Changes to the state of per-site switches are temporary until you make them permanent by clicking the padlock icon. Pressing Ctrl (Cmd on Mac) when toggling switches will make them permanent immediately.
No popups
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:
No popups rules appear as no-popups: [hostname] true
entries in the My rules pane.
No large media elements
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.
By default, this setting is disabled. The global default can be enabled in the Settings pane in the dashboard.
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".
No cosmetic filtering
"Cosmetic filtering" in uBO is what is known as "element hiding" in Adblock PlusPlus (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:
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).
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, example). 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 in the dashboard, and check the option "Disable cosmetic filtering" under the "Default behavior" header:
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.
No remote fonts
You can prevent web fonts from being downloaded for the current site:
Because of security and privacy concerns, many prefer to block all web fonts by default -- toggle the appropriate default behavior in the Settings pane in the dashboard:
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.
No scripting
New in 1.17.0
Wholly disable JavaScript for a given site.
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)
Starting with v1.21.7b5, 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.
As with some other per-site switches, the default state of the per-site JavaScript master switch can be set in the Settings pane, thus allowing to disable JavaScript everywhere by default, and enable on a per-site basis:
JavaScript master switch rules appear as no-scripting: [hostname] true
entries in the My rules pane.