AdguardTeam / AdguardTeam/Scriptlets

Improve 'googlesyndication-adsbygoogle' — fails to create iframes when there's no '.adsbygoogle'

Open
#525 3 comments 1 reaction 1 assignee Claimed by @maximtop View on GitHub
enhancement Priority: P4 Waiting for data
Dominant language
JavaScript
Stars
195
Forks
33
PR merge metrics
No merged PRs in 30d

Description

It seems the current `googlesyndication-adsbygoogle` fails to create `iframe#aswift_1` etc. if `.adsbygoogle` does not exist when its executed. This is causing these filters in Base
```
pvpoke-re.com#%#//scriptlet('trusted-create-element', '.adsbygoogle:has(> #aswift_1)', 'div', 'id="aswift_1_host" style="height: 280px; width: 780px;"')
pvpoke-re.com#%#//scriptlet('trusted-create-element', '.adsbygoogle:has(> #aswift_2)', 'div', 'id="aswift_2_host" style="height: 280px; width: 396px;"')
```

to occasionally fail on the initial load, as they depend on existence of the iframes.

Expected fix:
the redirect should handle the case where `.adsbygoogle` elements do not yet exist at script execution time, likely by observing DOM mutations (via `MutationObserver`) and creating the required iframes (`#aswift_1`, etc.) when `.adsbygoogle` elements are inserted.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.