Jakieś puste shadow rooty
krystian3w opened this issue · 10 comments
To było do tych filmików twitterowych. Jak elementu nie ma, to dlatego wywala ten błąd, nie wiem czy coś da się z tym zrobić. Może @kejn ma pomysł?
Najlepiej to chyba wyłączyć tryb programisty po zainstalowaniu 😄.
Idąc za dokumentacją querySelector()
zwraca pierwszy znaleziony element albo null
jeśli niczego nie znalazł.
Wygląda więc na to, że nie zawsze znajduje ten element, tak jak sugerował @hawkeye116477, więc w zasadzie wystarczyłoby sprawdzać czy cokolwiek znalazł. Przerobiłbym to tak:
function removeFromShadow(shadowHostArg, element, urlArg)
{
if(getUrlCondition(urlArg))
{
var readyStateCheckInterval = setInterval(function() {
if (document.readyState === "complete") {
var shadowHost = document.querySelectorAll(shadowHostArg);
var cookieConsentShadow = document.querySelector(shadowHostArg);
if (cookieConsentShadow) {
var cookieConsent = cookieConsentShadow.shadowRoot.querySelector(element);
if (cookieConsent)
{
for (var i=0; i<shadowHost.length; ++i)
{
shadowHost[i].shadowRoot.querySelector(element).remove();
}
}
}
}
}, 1000);
}
}
Ewentualnie jak to zadziała, to można by jeszcze zrobić małą zmianę i brać cookieConsentShadow
ze zmiennej shadowHost
(pierwszy element), bo to jest ten sam selektor.
Potwierdzone, już się nie sypie. Podalibyście jeszcze jakiś przykładowy link, żeby sprawdzić czy działa z tymi filmikami?
Jakieś z lipca 2018:
https://sportowefakty.wp.pl/ms-2018/765111/mundial-2018-w-przerwie-meczu-w-markecie-neymar-caly-czas-obiektem-drwin
http://www.wirtualnemedia.pl/artykul/truskawka-na-torcie-od-tomasza-hajto-z-polsatu-trafila-do-spotu-tvp-sport-wideo
nic się nie sypie, więc powinno być ok 👍
@kejn Potwierdzam, jest ok. Dzięki za pomoc.
https://fakty.interia.pl/pomorskie/news-gdansk-trwaja-poszukiwania-nastolatka-ktory-kapal-sie-w-morz,nId,3068125
Na shadow rooty nie zgodziła się Opera i Mozilla?
@krystian3w Nic nie powiedzieli w tej sprawie, po prostu ja uznałem, że nie pasują tutaj, bo miała być akceptacja a nie zabawa w chowanego 😄
Ja tam sobie znów włączyłem po prostu blokadę ciastek z stron obcych / nieodwiedzonych.