fix: use world:MAIN to bypass CSP and access Optanon directly
This commit is contained in:
parent
3254b48a3e
commit
11d40ca67b
2 changed files with 21 additions and 29 deletions
47
content.js
47
content.js
|
|
@ -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 (typeof window.Optanon?.AllowAll !== 'function') return;
|
||||||
if (handled) return;
|
|
||||||
const overlay = document.querySelector('.payok__wrap');
|
|
||||||
if (!overlay) return;
|
|
||||||
|
|
||||||
console.log('[Buienradar Clicker] Dismissing paywall');
|
handled = true;
|
||||||
handled = true;
|
clearInterval(pollInterval);
|
||||||
clearInterval(pollInterval);
|
observer.disconnect();
|
||||||
observer.disconnect();
|
|
||||||
|
|
||||||
const script = document.createElement('script');
|
window.Optanon.AllowAll();
|
||||||
script.textContent = `
|
document.body.style.overflow = '';
|
||||||
(function() {
|
overlay.remove();
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
const observer = new MutationObserver(dismissPaywall);
|
const observer = new MutationObserver(dismissPaywall);
|
||||||
observer.observe(document.body, { childList: true, subtree: true });
|
observer.observe(document.body, { childList: true, subtree: true });
|
||||||
|
|
||||||
const pollInterval = setInterval(dismissPaywall, 500);
|
const pollInterval = setInterval(dismissPaywall, 500);
|
||||||
|
|
||||||
dismissPaywall();
|
dismissPaywall();
|
||||||
|
})();
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@
|
||||||
{
|
{
|
||||||
"matches": ["*://*.buienradar.nl/*"],
|
"matches": ["*://*.buienradar.nl/*"],
|
||||||
"js": ["content.js"],
|
"js": ["content.js"],
|
||||||
"run_at": "document_end"
|
"run_at": "document_end",
|
||||||
|
"world": "MAIN"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"icons": {
|
"icons": {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue