Siemanejro. Mądre AI mi napisało skrypcik, który odblokowuje zablokowane rzeczy i umożliwia lurkowanie, które wymagają zalogowania np tak p0lka
https://wykop.pl/tag/p0lkaSkrypt jest greasemoneky i testowałem z firefoxem.
Jest taki problem, że po odblokowaniu oglądania nie bardzo da się klikać np. rozwiń komentarze, albo wpisany link w przeglądarkę trzeba ręcznie przeładować.
Może jakiś majster da mądrzejszy prompt do chata gpt?
`// ==UserScript==
//
@name Wykop - przywróć zawartość taga + odblokuj kliknięcia
//
@namespace wykop-keep-initial
//
@version 4.0
//
@description Przywraca zawartość taga i usuwa blokadę kliknięć modala logowania
//
@Match https://wykop.pl/*//
@Match https://www.wykop.pl/*//
@run-at document-start
//
@grant none
// ==/UserScript==
(function () {
'use strict';
const PREFIX = '[WYKOP 4]';
let savedHTML = null;
let saved = false;
let restored = false;
console.log(PREFIX, 'skrypt uruchomiony');
function removeLoginOverlay() {
let removed = false;
// Konkretny modal logowania
document
.querySelectorAll('.v--modal-overlay[data-modal="login"]')
.forEach(el => {
el.remove();
removed = true;
});
// Ewentualny backdrop/blocker
document
.querySelectorAll('.v--modal-blocker')
.forEach(el => {
el.remove();
removed = true;
});
// Dodatkowe zabezpieczenie dla backdropu Wykopu
document
.querySelectorAll(
'.v--modal-overlay[data-modal="login"]'
)
.forEach(el => {
el.remove();
removed = true;
});
if (document.documentElement) {
document.documentElement.style.removeProperty('overflow');
}
if (document.body) {
document.body.style.removeProperty('overflow');
document.body.classList.remove(
'modal-open',
'overflow-hidden',
'overflow-y-hidden'
);
}
if (removed) {
console.log(
PREFIX,
'usunięto modal/backdrop — kliknięcia odblokowane'
);
}
}
function save() {
if (saved) return true;
const main = document.querySelector('.main-content');
if (!main) return false;
const html = main.innerHTML;
if (!html || html.length < 1000) {
return false;
}
savedHTML = html;
saved = true;
console.log(
PREFIX,
'zapisano DOM:',
savedHTML.length,
'znaków'
);
setTimeout(restoreOnce, 1200);
return true;
}
function restoreOnce() {
if (restored || !savedHTML) return;
const main = document.querySelector('.main-content');
if (!main) return;
const text = (main.innerText || '')
.replace(/\s+/g, ' ')
.toLowerCase();
if (
text.includes('zaloguj się') ||
text.includes('zaloguj sie')
) {
console.log(
PREFIX,
'wykryto blokadę — przywracam DOM'
);
main.innerHTML = savedHTML;
restored = true;
console.log(
PREFIX,
'DOM przywrócony'
);
// KLUCZOWE:
// usuwamy warstwę, która przechwytuje kliknięcia.
removeLoginOverlay();
}
}
/*
* Czekamy od document-start na pojawienie się
* rzeczywistego .main-content.
*/
function waitForMain() {
if (save()) return;
setTimeout(waitForMain, 25);
}
waitForMain();
/*
* Niezależnie od przywracania DOM monitorujemy
* pojawienie się SAMEGO modala.
*
* Nie dotykamy .main-content.
* Nie przywracamy DOM ponownie.
*/
const observer = new MutationObserver(() => {
removeLoginOverlay();
});
function startObserver() {
if (!document.documentElement) {
setTimeout(startObserver, 25);
return;
}
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
console.log(
PREFIX,
'ochrona przed overlayem aktywna'
);
}
startObserver();
})();
`#ChatGPT #uBlock #uBlock_Origin #programowanie #reklamy #adblock #pytanie #blokowaniereklam #firefox #internet #skrypt
https://wykop.pl/faq/konto#kolory-loginow-od-czego-zalezy-moj-kolor