AdguardTeam / AdguardTeam/Scriptlets

Improve logging in scriptlets — save reference to console

Aberta
#546 0 comentários 1 reação 1 responsável Reivindicada por @maximtop Ver no GitHub
enhancement Priority: P4
Linguagem predominante
JavaScript
Estrelas
195
Forks
33
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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

Image


It works fine if `console.log = console.table = noopFunc;` is commented out.

Screenshot

Image

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.