HR

gwarser 2020-03-07 22:40:16 +01:00
parent c943b45179
commit 34046f3b57
1 changed files with 23 additions and 0 deletions

@ -38,6 +38,8 @@ _Procedural_ means javascript code is used to find DOM elements which must be hi
The `:has(arg)` operator is actually a planned pseudo-class in CSS4, but as of writing no browser supports it. Instead of waiting for browser vendors to provide support, uBO provides support for `:has(arg)` as a procedural operator. The `:has(arg)` operator is actually a planned pseudo-class in CSS4, but as of writing no browser supports it. Instead of waiting for browser vendors to provide support, uBO provides support for `:has(arg)` as a procedural operator.
***
### `subject:has-text(needle)` ### `subject:has-text(needle)`
- Description: Select element _subject_ if the text _needle_ is found inside the element _subject_ or its children. - Description: Select element _subject_ if the text _needle_ is found inside the element _subject_ or its children.
@ -49,14 +51,20 @@ The `:has(arg)` operator is actually a planned pseudo-class in CSS4, but as of w
- `example.com##body > div:last-of-type span:has-text(/^Promoted by/i)`: starts with "Promoted by", ignore case - `example.com##body > div:last-of-type span:has-text(/^Promoted by/i)`: starts with "Promoted by", ignore case
- `example.com##body > div:last-of-type span:has-text(Promoted by)`: contains "Promoted by" at any position - `example.com##body > div:last-of-type span:has-text(Promoted by)`: contains "Promoted by" at any position
***
### `subject:if(arg)` ### `subject:if(arg)`
Deprecated in favor of [`:has(...)`](#subjecthasarg) in uBO 1.15.0 Deprecated in favor of [`:has(...)`](#subjecthasarg) in uBO 1.15.0
***
### `subject:if-not(arg)` ### `subject:if-not(arg)`
Deprecated in favor of [`:not(:has(arg))`](#subjectnotarg) operator. Deprecated in favor of [`:not(:has(arg))`](#subjectnotarg) operator.
***
### `subject:matches-css(arg)` ### `subject:matches-css(arg)`
- Description: Select element _subject_ if and only if the result of evaluating _arg_ is one or more elements. - Description: Select element _subject_ if and only if the result of evaluating _arg_ is one or more elements.
@ -69,14 +77,20 @@ Deprecated in favor of [`:not(:has(arg))`](#subjectnotarg) operator.
- `extratorrent.*##body > div[class]:matches-css(position: absolute)` - `extratorrent.*##body > div[class]:matches-css(position: absolute)`
- `facet.wp.pl##div[class^="_"]:matches-css(background-image: /^url\("data:image/png;base64,/)` - `facet.wp.pl##div[class^="_"]:matches-css(background-image: /^url\("data:image/png;base64,/)`
***
### `subject:matches-css-before(arg)` ### `subject:matches-css-before(arg)`
Same as `:matches-css(...)`, except that the style will be looked-up for the `:before` pseudo-class of the _subject_ element. Same as `:matches-css(...)`, except that the style will be looked-up for the `:before` pseudo-class of the _subject_ element.
***
### `subject:matches-css-after(arg)` ### `subject:matches-css-after(arg)`
Same as `:matches-css(...)` except that the style will be looked-up for `:after` pseudo-class of the _subject_ element. Same as `:matches-css(...)` except that the style will be looked-up for `:after` pseudo-class of the _subject_ element.
***
### `subject:min-text-length(n)` ### `subject:min-text-length(n)`
- Description: DOM elements whose text length is greater than or equal to `n` will be selected. - Description: DOM elements whose text length is greater than or equal to `n` will be selected.
@ -90,6 +104,8 @@ Introduced in uBO [1.20.1b2](https://github.com/gorhill/uBlock/commit/b428a25c3f
<sub>[1] https://github.com/orgs/uBlockOrigin/teams/ublock-filters-volunteers/discussions/194?from_comment=65</sub> <sub>[1] https://github.com/orgs/uBlockOrigin/teams/ublock-filters-volunteers/discussions/194?from_comment=65</sub>
***
### `subject:not(arg)` ### `subject:not(arg)`
- Description: Select element _subject_ if and only if the result of evaluating _arg_ is exactly zero elements. - Description: Select element _subject_ if and only if the result of evaluating _arg_ is exactly zero elements.
@ -104,6 +120,8 @@ Use to negate other procedural selectors. For example `:not(:has(.foo))` will ma
Note that if _arg_ is valid CSS selector, uBO will not consider the `:not` operator to be a procedural one, it will rather consider the operator as being part of a CSS selector. Thus this ensure compatibility with the existing Note that if _arg_ is valid CSS selector, uBO will not consider the `:not` operator to be a procedural one, it will rather consider the operator as being part of a CSS selector. Thus this ensure compatibility with the existing
[CSS `:not(...)` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:not). [CSS `:not(...)` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:not).
***
### `subject:nth-ancestor(n)` ### `subject:nth-ancestor(n)`
- Description: lookup the nth ancestor relative to the currently selected - Description: lookup the nth ancestor relative to the currently selected
@ -116,10 +134,14 @@ node.
Introduced in uBO [1.18.17rc1](https://github.com/gorhill/uBlock/commit/73e2f25e95b90332a3e53646d83525d14e816d25) to have a low overhead way to accomplish ancestor selection. It is effectively a low-overhead equivalent to `:xpath(..[/..]*)`, as it avoids the need to create and execute [XPath expressions](https://developer.mozilla.org/docs/Web/XPath). Introduced in uBO [1.18.17rc1](https://github.com/gorhill/uBlock/commit/73e2f25e95b90332a3e53646d83525d14e816d25) to have a low overhead way to accomplish ancestor selection. It is effectively a low-overhead equivalent to `:xpath(..[/..]*)`, as it avoids the need to create and execute [XPath expressions](https://developer.mozilla.org/docs/Web/XPath).
***
### `subject:watch-attrs(arg)` ### `subject:watch-attrs(arg)`
Deprecated in favor of [`subject:watch-attr(arg)`](#subjectwatch-attrarg) in [1.20.1b3](https://github.com/gorhill/uBlock/commit/41685f4cce084f3f89e9cdd8fc1cde5b57862958) Deprecated in favor of [`subject:watch-attr(arg)`](#subjectwatch-attrarg) in [1.20.1b3](https://github.com/gorhill/uBlock/commit/41685f4cce084f3f89e9cdd8fc1cde5b57862958)
***
### `subject:watch-attr(arg)` ### `subject:watch-attr(arg)`
Experimental. Experimental.
@ -138,6 +160,7 @@ Solves [uBlockOrigin/uBlock-issues#341 (comment)](https://github.com/uBlockOrigi
By default hiding by procedural filters is reevaluated only when nodes in sub-tree are added or removed - uBO does not watch for attribute changes for performance reasons. This filter instructs uBO procedural filtering engine to watch for changes in specific attributes. By default hiding by procedural filters is reevaluated only when nodes in sub-tree are added or removed - uBO does not watch for attribute changes for performance reasons. This filter instructs uBO procedural filtering engine to watch for changes in specific attributes.
***
### `subject:xpath(arg)` ### `subject:xpath(arg)`