AdguardTeam / AdguardTeam/Scriptlets
Improve logging in scriptlets — save reference to console
- Dominant language
- JavaScript
- Stars
- 195
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
Currently if website overrides `console.log` or other properties then logging does not work.
Steps to reproduce:
1. Add to user rules:
```adblock
example.org#%#//scriptlet('prevent-setTimeout')
example.org#%#//scriptlet('log-on-stack-trace', 'document.querySelectorAll')
```
2. Go to - https://example.org/
3. Run in console:
```js
const noopFunc = ()=>{};
console.log = console.table = noopFunc;
setTimeout(()=>{const ads = {};});
const adblock = ()=>{ document.querySelectorAll('p'); };
adblock();
```
Scriptlets should log information to console.
There is nothing in console because `console.log` and `console.table` have been overridden.
Screenshot
It works fine if `console.log = console.table = noopFunc;` is commented out.
Screenshot
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.