fix: use world:MAIN to bypass CSP and access Optanon directly

This commit is contained in:
Eddy de Vink 2026-05-20 05:00:51 +02:00
commit 11d40ca67b
2 changed files with 21 additions and 29 deletions

View file

@ -1,35 +1,26 @@
console.log('[Buienradar Clicker] Content script loaded');
(function() {
let handled = false;
let handled = false;
function dismissPaywall() {
if (handled) return;
const overlay = document.querySelector('.payok__wrap');
if (!overlay) return;
function dismissPaywall() {
if (handled) return;
const overlay = document.querySelector('.payok__wrap');
if (!overlay) return;
if (typeof window.Optanon?.AllowAll !== 'function') return;
console.log('[Buienradar Clicker] Dismissing paywall');
handled = true;
clearInterval(pollInterval);
observer.disconnect();
handled = true;
clearInterval(pollInterval);
observer.disconnect();
const script = document.createElement('script');
script.textContent = `
(function() {
var w = document.querySelector('.payok__wrap');
if (w && window.Optanon && typeof window.Optanon.AllowAll === 'function') {
window.Optanon.AllowAll();
document.body.style.overflow = '';
w.remove();
}
})();
`;
document.body.appendChild(script);
script.remove();
}
window.Optanon.AllowAll();
document.body.style.overflow = '';
overlay.remove();
}
const observer = new MutationObserver(dismissPaywall);
observer.observe(document.body, { childList: true, subtree: true });
const observer = new MutationObserver(dismissPaywall);
observer.observe(document.body, { childList: true, subtree: true });
const pollInterval = setInterval(dismissPaywall, 500);
const pollInterval = setInterval(dismissPaywall, 500);
dismissPaywall();
dismissPaywall();
})();