Added 9 new scriptlets (drafts) from to-do list + added reference-links to AdGuard scriptlets (counterparts) + updated "trusted-replace-outbound-text" (minor)

garry-ut99 2024-07-11 10:05:25 +00:00
parent 1e830f961c
commit 8247254cea

@ -14,7 +14,6 @@
## Available general purpose scriptlets
- [abort-current-inline-script](#abort-current-inline-scriptjs-) _(acis)_
- [abort-on-property-read](#abort-on-property-readjs-) _(aopr)_
- [abort-on-property-write](#abort-on-property-writejs-) _(aopw)_
@ -29,6 +28,7 @@
- [remove-cookie](#remove-cookiejs-) _(cookie-remover)_
- [set-local-storage-item](#set-local-storage-itemjs-) / set-session-storage-item
- [trusted-set-local-storage-item](#trusted-set-local-storage-itemjs-) / trusted-set-session-storage-item [Trusted]
- [remove-cache-storage-item](#remove-cache-storage-itemjs-)
- [call-nothrow](#call-nothrowjs-)
- [no-setInterval-if](#no-setinterval-ifjs-) _(nosiif)_
- [no-setTimeout-if](#no-settimeout-ifjs-) _(nostif)_
@ -36,7 +36,9 @@
- [nano-setTimeout-booster](#nano-settimeout-boosterjs-) _(nano-stb)_
- [no-xhr-if](#no-xhr-ifjs-)
- [no-fetch-if](#no-fetch-ifjs-)
- [trusted-replace-xhr-response](#trusted-replace-xhr-responsejs-) [Trusted]
- [trusted-replace-fetch-response](#trusted-replace-fetch-responsejs-) [Trusted]
- [trusted-replace-argument](#trusted-replace-argumentjs-) [Trusted]
- [set-attr](#set-attrjs-)
- [remove-attr](#remove-attrjs-) _(ra)_
- [remove-class](#remove-classjs-) _(rc)_
@ -44,11 +46,17 @@
- [trusted-replace-node-text](#trusted-replace-node-textjs-) _(trusted-rpnt)_ [Trusted]
- [trusted-replace-outbound-text](#trusted-replace-outbound-textjs-) _(trusted-rpot)_ [Trusted]
- [spoof-css](#spoof-cssjs-)
- [prevent-canvas](#prevent-canvasjs-)
- [href-sanitizer](#href-sanitizerjs-)
- [disable-newtab-links](#disable-newtab-linksjs-)
- [window-close-if](#window-close-ifjs-)
- [no-window-open-if](#no-window-open-ifjs-) _(nowoif)_
- [object-prune](#object-prunejs----fn)
- [trusted-prune-inbound-object](#trusted-prune-inbound-objectjs-) [Trusted]
- [trusted-prune-outbound-object](#trusted-prune-outbound-objectjs-) [Trusted]
- [json-prune](#json-prunejs-)
- [json-prune-fetch-response](#json-prune-fetch-responsejs-)
- [json-prune-xhr-response](#json-prune-xhr-responsejs-)
- [evaldata-prune](#evaldata-prunejs-)
- [xml-prune](#xml-prunejs-)
- [m3u-prune](#m3u-prunejs-)
@ -173,6 +181,9 @@ Tokens:
- ~~`log, 1`~~: output useful information at the dev console. (deprecated)
- `debug, 1`: break at key locations in the scriptlet.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-current-inline-script
***
### aopr.js /
@ -185,6 +196,8 @@ Parameters:
Examples:
- `tagesspiegel.de##+js(aopr, Notification)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-property-read
***
@ -198,6 +211,9 @@ Parameters:
Examples:
- `yggtorrent.*##+js(aopw, Fingerprint2)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-property-write
***
@ -235,6 +251,9 @@ The column value is normalized to 1, however there is too much discrepancy betwe
Filtering according to reported line numbers (`...:1234:1`), will not be reliable for inline scripts, since the line at which those inline scripts are located will vary from one page to another. It should be reliable for when the stack trace entry is for code in a JS file.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#abort-on-stack-trace
***
### aeld.js /
@ -299,6 +318,9 @@ Examples:
The third filter will log _all_ calls to `addEventListener()` **without defusing any of them**
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-addEventListener
***
### ~aell.js~ /
@ -309,6 +331,9 @@ Logs to the console event listeners created on page.
The logging or debugging of `addEventListener()` calls can now be done with the [`addEventListenerDefuser`](#addeventlistener-defuserjs-) scriptlet, which now supports named arguments.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#log-addEventListener
***
### remove-cookie.js /
@ -331,6 +356,9 @@ Examples:
- `discovermagazine.com##+js(remove-cookie, AWSALBTG, when, scroll)`
(solves: ['remove-cookie' scriptlet sometimes does not work](https://github.com/uBlockOrigin/uBlock-issues/issues/3293))
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-cookie
***
### ~csp.js~ [](https://github.com/uBlockOrigin/uAssets/blob/2c68a4f5456e4677cec76f2784d2c1d7abc36efb/filters/resources.txt#L1849)
@ -371,6 +399,9 @@ Parameters:
Examples:
- `example.com##+js(call-nothrow, Object.defineProperty)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#call-nothrow
***
@ -385,6 +416,9 @@ Examples:
To prevent new tabs/windows by specifying the location URL, see: [`window-close-if.js`](https://github.com/uBlockOrigin/uBlock-issues/wiki/Resources-Library#window-close-ifjs-)
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#disable-newtab-links
***
### evaldata-prune.js [](https://github.com/gorhill/uBlock/blob/f3b720d532c7a42a6ad5167e3b6f860004b4c2b6/assets/resources/scriptlets.js#L1039)
@ -400,6 +434,38 @@ When no "prune paths" argument (first parameter) is provided, the scriptlet is u
Examples:
- `m.nivod4.tv##+js(evaldata-prune, entity.commercial)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#evaldata-prune
***
### object-prune.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L786) * (fn)
New in [1.51.1b14](https://github.com/gorhill/uBlock/commit/cfac880cf51d8c652ce34ba7fee5e1a45c12ca1c) * (fn)
[Documentation to be completed]
***
### trusted-prune-inbound-object.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4633)
#### _Trusted scriptlet_
New in [1.52.3rc0](https://github.com/gorhill/uBlock/commit/1c9da227d714250c0b6319e2f635998f9869a70d)
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-prune-inbound-object
[Documentation to be completed]
***
### trusted-prune-outbound-object.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4713)
#### _Trusted scriptlet_
New in [1.52.3rc3](https://github.com/gorhill/uBlock/commit/86f0d6dd978b79a34ffa257825539fb4446759a4)
[Documentation to be completed]
***
@ -459,6 +525,29 @@ Examples:
If the site uses `eval` in lieu of `JSON.parse`, see: [evaldata-prune](#evaldata-prunejs-)
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune
***
### json-prune-fetch-response.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L1229)
New in [1.51.1rc1](https://github.com/gorhill/uBlock/commit/749cec0f095f659d6c0b90eb89b729e9deb07c87)
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune-fetch-response
[Documentation to be completed]
***
### json-prune-xhr-response.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L1795)
New in [1.51.1rc3](https://github.com/gorhill/uBlock/commit/3152896d428c54c76cfd66c3da110bd4d6506cbc)
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#json-prune-xhr-response
[Documentation to be completed]
***
### xml-prune.js [](https://github.com/gorhill/uBlock/blob/bf690145c493acd86e578d7a860da238f0af72d4/assets/resources/scriptlets.js#L1672)
@ -482,6 +571,9 @@ Examples:
- `play.max.com##+js(xml-prune, xpath(//*[name()="Period"][not(.//*[name()="SegmentTimeline"])]), , .mpd)`
- `example.com##+js(xml-prune, xpath(//*[name()="MPD"]/@mediaPresentationDuration), , .mpd, log, 1)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#xml-prune
***
### m3u-prune.js [](https://github.com/gorhill/uBlock/blob/115f7bb68704c4fede763cbc2d07f1caf041274f/assets/resources/scriptlets.js#L1743)
@ -499,6 +591,9 @@ If the first argument is a regex with multine flag set, the scriptlet will execu
If the matching text does not contain whole lines, the text won't be removed, i.e. it is not allowed to remove only part of a line.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#m3u-prune
***
### noeval.js [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/src/web_accessible_resources/noeval.js)
@ -507,6 +602,8 @@ Prevent web pages from using _`eval()`_, and report attempts to console. This sh
Examples:
- `solowarez.org##+js(noeval)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#noeval
***
@ -565,6 +662,19 @@ Examples:
- `example.com##+js(no-fetch-if, adsbygoogle.js method:HEAD)`
- `example.com##+js(no-fetch-if, /adsbygoogle.js$/ method:/HEAD|POST/)`
See also:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-fetch
***
### trusted-replace-xhr-response.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4362)
#### _Trusted scriptlet_
New in [1.51.1rc3](https://github.com/gorhill/uBlock/commit/3152896d428c54c76cfd66c3da110bd4d6506cbc)
[Documentation to be completed]
***
### trusted-replace-fetch-response.js [](https://github.com/gorhill/uBlock/blob/2282215e1cb0f9fb0974fba5d16ca5fb9c5bcc57/assets/resources/scriptlets.js#L3527)
@ -604,6 +714,15 @@ Examples:
- `example.com##+js(trusted-replace-fetch-response, /#EXT-X-VMAP-AD-BREAK[\s\S]*?/, #EXT-X-ENDLIST, '/\.m3u8/ method:/GET|HEAD/')`
- `example.com##+js(trusted-replace-fetch-response, *, , another_domain.com)`
***
### trusted-replace-argument.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4747)
#### _Trusted scriptlet_
New in [1.55.1b18](https://github.com/gorhill/uBlock/commit/34da372d7af0ca576b7063053d7966fdb04bdf9b)
[Documentation to be completed]
***
@ -627,6 +746,9 @@ When used without parameters, will log calls to _`requestAnimationFrame()`_ to t
Examples:
- `bloomberg.com##+js(norafif, paywall-inline-tout)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-requestAnimationFrame
***
### nosiif.js /
@ -651,6 +773,8 @@ Examples:
- `finanzen.*##+js(nosiif, nrWrapper)`
- `yachtrevue.at##+js(nosiif, text/css, 10)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-setInterval
***
@ -679,6 +803,9 @@ Examples:
In [1.31.3b11](https://github.com/gorhill/uBlock/commit/ba11a700139bbc648e4ae5b2bc7af90ef03db5df) aliased as `setTimeout-defuser.js` for backward compatibility.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-setTimeout
***
### nowebrtc.js [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/assets/resources/scriptlets.js#L721)
@ -687,6 +814,9 @@ Disables WebRTC by preventing web pages from using [_`RTCPeerConnection()`_](htt
Examples:
- `x1337x.*##+js(nowebrtc)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#nowebrtc
***
### no-xhr-if.js [](https://github.com/gorhill/uBlock/blob/745fbd1c02b7179052ba97f51c54f7cb000636f0/assets/resources/scriptlets.js#L1171)
@ -708,6 +838,9 @@ Examples:
- `example.com##+js(no-xhr-if, adsbygoogle.js method:HEAD)`
- `example.com##+js(no-xhr-if, /adsbygoogle.js$/ method:/HEAD|POST/)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-xhr
***
### set-attr.js [](https://github.com/gorhill/uBlock/blob/786d9b2212e9a2105f516a2ffe5d031da2bdd4b5/assets/resources/scriptlets.js#L2957)
@ -734,6 +867,9 @@ example.com##+js(set-attr, a > img, src, [data-src])
Solves [uBlockOrigin/uBlock-issues#2347](https://github.com/uBlockOrigin/uBlock-issues/issues/2347).
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-attr
***
### ~ra.js~ /
@ -759,6 +895,8 @@ Examples:
- `zerodot1.gitlab.io##+js(ra, oncontextmenu|onselectstart|ondragstart)`
- `example.com##+js(remove-attr, class, .j-mini-player, stay)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-attr
***
@ -783,6 +921,8 @@ Parameters:
Examples:
- `danskebank.fi##+js(rc, cookie-consent-banner-open, html)` [Picture of the element](https://images2.imgbox.com/68/2b/tdWI9hBG_o.png)
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-class
***
@ -826,7 +966,9 @@ Related discussions:
- [New rpnt (prev. sed) scriptlet](https://github.com/uBlockOrigin/uAssets/discussions/18185)
- [Using trusted-replace-node-text](https://github.com/uBlockOrigin/uAssets/discussions/23769)
Also see: [remove-node-text](#remove-node-textjs-)
Also see:
- [remove-node-text](#remove-node-textjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-replace-node-text
***
@ -862,7 +1004,9 @@ Examples:
- `example.com##+js(rmnt, #text, Example, condition, Exa)`
- `example.com##+js(rmnt, script, timeLeft)`
Also see: [trusted-replace-node-text](#trusted-replace-node-textjs-)
Also see:
- [trusted-replace-node-text](#trusted-replace-node-textjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-node-text
***
@ -875,7 +1019,7 @@ New in [1.57.1b1](https://github.com/gorhill/uBlock/commit/21e1ee30ee)
(currently alias `trusted-rpot` is unsupported yet)
Intercepts atob call and prunes its text output.
Replace the text in the outbound function call.
Parameters:
- required, a name of method for which the text content must be substituted
@ -900,6 +1044,11 @@ Solves related issues / discussions:
- [reddit.com: privacy](https://github.com/uBlockOrigin/uAssets/issues/18938)
- [trusted-replace-outbound-text](https://github.com/uBlockOrigin/uBlock-issues/discussions/3292)
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-replace-outbound-text
[Documentation to be completed]
***
### href-sanitizer.js [](https://github.com/gorhill/uBlock/blob/d7b7dea7faaf17486d5c54454852c4a117f50fd1/assets/resources/scriptlets.js#L1845)
@ -922,7 +1071,10 @@ Examples:
- `<a href="https://app.adjust.com/2uo1qc?redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dorg.mozilla.firefox&amp;campaign=www.mozilla.org&amp;adgroup=mobile-android-page">Text</a>`:
`mozilla.org##+js(href-sanitizer, a[href^="https://app.adjust.com/"][href*="?redirect="], ?redirect)`
Solves [uBlockOrigin/uBlock-issues#2531](https://github.com/uBlockOrigin/uBlock-issues/issues/2531).
Solves [Anti-redirect scriptlet for vk.com (href-sanitizer)](https://github.com/uBlockOrigin/uBlock-issues/issues/2531).
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#href-sanitizer
***
@ -935,6 +1087,9 @@ Attempts to defuse reloading of a document through a [meta "refresh" tag](https:
Parameters:
- optional, number (float), number of seconds until the page will be reloaded / when defuser should run. Will be derived from source tag when not specified.
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-refresh
***
### trusted-click-element.js [](https://github.com/gorhill/uBlock/blob/9123563895f0499849b4d85c4f95e1ed6ace2231/assets/resources/scriptlets.js#L4009)
@ -963,6 +1118,8 @@ Examples:
* `example.com##+js(trusted-click-element, #cmp-btn-accept, , 500)`
* `example.com##+js(trusted-click-element, #privacy-cp-wall-accept, , , log, 1)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-click-element
***
@ -1035,7 +1192,9 @@ Examples:
- ~~`joysound.com##+js(set, document.body.oncopy, null, 3)`~~ (deprecated)
- `joysound.com##+js(set, document.body.oncopy, null, runAt, 3)`
Also see: [trusted-set-constant](#trusted-set-constantjs-)
Also see:
- [trusted-set-constant](#trusted-set-constantjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-constant
***
@ -1057,7 +1216,9 @@ Examples:
- `example.com##+js(trusted-set, prop, '{ "value": [ "one", "two", 3 ]}')`
- `example.com##+js(trusted-set, prop, { "value": { "url": "about:blank" }})`
Also see: [set-constant](#set-constantjs-)
Also see:
- [set-constant](#set-constantjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-set-constant
***
@ -1111,7 +1272,10 @@ Examples:
- `example.com##+js(set-cookie, gdpr-settings-cookie, true)`
- `example.com##+js(set-cookie, cookie_consent, ok, none)`
Also see: [trusted-set-cookie](#trusted-set-cookiejs-)
Also see:
- [trusted-set-cookie](#trusted-set-cookiejs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-cookie
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-cookie-reload
***
@ -1159,7 +1323,10 @@ The forth and fifth filters will set a cookie which will expire in 3 days or 1 y
The sixth filter sets a cookie with no path.
Also see: [set-cookie](#set-cookiejs-)
Also see:
- [set-cookie](#set-cookiejs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-set-cookie
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-set-cookie-reload
***
@ -1197,7 +1364,9 @@ Examples:
Solves [uBlockOrigin/uBlock-issues#2697](https://github.com/uBlockOrigin/uBlock-issues/discussions/2697).
Also see: [trusted-set-local-storage-item](#trusted-set-local-storage-itemjs-)
Also see:
- [trusted-set-local-storage-item](#trusted-set-local-storage-itemjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#set-local-storage-item
***
@ -1227,7 +1396,19 @@ Examples:
- `example.com##+js(trusted-set-local-storage-item, ppu_main_none, '')`
- `example.com##+js(trusted-set-session-storage-item, opd, 1.4)`
Also see: [set-local-storage-item](#set-local-storage-itemjs-)
Also see:
- [set-local-storage-item](#set-local-storage-itemjs-)
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-set-local-storage-item
***
### remove-cache-storage-item.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4076)
#### _Trusted scriptlet_
New in [1.55.1b23](https://github.com/gorhill/uBlock/commit/6c54731a728b06f89a66ddc851ebae3e19e45448)
[Documentation to be completed]
***
@ -1245,6 +1426,8 @@ Examples:
- `platinmods.*##+js(nano-sib)`
- `1ink.cc##+js(nano-sib, mSec, 1050)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#adjust-setinterval
***
@ -1273,6 +1456,17 @@ Tokens:
Solves [uBlockOrigin/uBlock-issues#2618](https://github.com/uBlockOrigin/uBlock-issues/issues/2618).
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#spoof-css
***
### prevent-canvas.js [](https://github.com/gorhill/uBlock/blob/66e3a1ad47162a89709e99072e5eaecdd83cb633/assets/resources/scriptlets.js#L4030)
New in [1.52.3b2](https://github.com/gorhill/uBlock/commit/1ff3878a4920e31791547238e3e879a32357914f)
[Documentation to be completed]
***
### nano-stb.js /
@ -1288,6 +1482,8 @@ Examples:
- `bdupload.*##+js(nano-stb)`
- `imgrock.*##+js(nano-stb, /.?/, 4000)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#adjust-settimeout
***
@ -1330,6 +1526,9 @@ Examples:
- `acestream.com##+js(window-close-if, /plan/select?popup=noads)`
- `example.com##+js(window-close-if, /^/)` - will close all new tabs going to `example.com` on _any_ site.
- `hostdl.com##+js(window-close-if, /^https?://(www\.)?hostdl\.com/)` - will close all new tabs matching either only base domain or www one (i.e. **not** `login.hostdl.com`).
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#close-window
***
@ -1360,6 +1559,9 @@ Examples:
- `vidstream.*##+js(nowoif, !api?call=, 10, obj)`
- `example.com##+js(nowoif, download-link, , , log, 1)`
Also see:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-window-open
***
### window.name-defuser [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/assets/resources/scriptlets.js#L624)
@ -1394,36 +1596,54 @@ Removes animation (artificial 8s delay) added to desktop pages supporting AMP, w
### fingerprint2.js [](https://github.com/gorhill/uBlock/blob/master/src/web_accessible_resources/fingerprint2.js)
Fingerprintjs2 shim.
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#fingerprintjs2
### fingerprint3.js [](https://github.com/gorhill/uBlock/blob/master/src/web_accessible_resources/fingerprint3.js)
FingerprintJS v3 shim.
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#fingerprintjs3
### nobab.js /
### ~bab-defuser.js~ [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/src/web_accessible_resources/nobab.js)
Defuses BlockAdblock. Prevents executing of _`eval()`_ on sets of predefined payloads.
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#prevent-bab
### nobab2.js [](https://github.com/gorhill/uBlock/blob/d17d634b7c95261c376b42c0fb0a65fc9eff32ae/src/web_accessible_resources/nobab2.js)
Redirect resource. Defuses BAB 4.2b.
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#prevent-bab2
### nofab.js /
### ~fuckadblock.js-3.2.0~ [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/src/web_accessible_resources/nofab.js)
Convenience, Sanitize `FuckAdBlock`, `BlockAdBlock`, `SniffAdBlock`, `fuckAdBlock`, `blockAdBlock`, `sniffAdBlock` properties.
Often used as redirect in network filters. TODO: copy to redirect?
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#prevent-fab-3.2.0
### popads-dummy.js [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/src/web_accessible_resources/popads-dummy.js)
Convenience, sets static properties (`PopAds`, `popns`)
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#set-popads-dummy
### popads.js /
### ~popads.net.js~ [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/src/web_accessible_resources/popads.js)
Convenience, abort-on-property-write.js (`PopAds`, `popns`), _throws_ "`magic`"
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#prevent-popads-net
### prebid-ads.js [](https://github.com/gorhill/uBlock/blob/master/src/web_accessible_resources/prebid-ads.js)
New in 1.41.0
Prebid-ads shim. `canRunAds`/`isAdBlockActive`?
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#prebid-ads
### adfly-defuser.js [](https://github.com/gorhill/uBlock/blob/a94df7f3b27080ae2dcb3b914ace39c0c294d2f6/assets/resources/scriptlets.js#L805)
Defuses anti-blocker on adfly shortened links.
Also see: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-adfly
***
## Empty redirect resources