Closed kaha0 closed 10 months ago
Hustý! Je pro tebe jakžtakž snadný si to oddebuggovat? Kdyby ti to mělo dát hodně práce, vydám to jako verzi.
Pod řádek const $n = $(n)
dej tenhle kód
if($n === undefined) {
console.error("$n is undefined", n, $)
console.trace()
}
a uvidíme, až se to semele. Protože nevěřim, že n
je undefined, to by to chcíplo už i na n.tagName
. Zajímá mě hodnota n
, pro které selže jQuery varianta.
Lokálně jsem si to upravil, když se zase obejví tak dám vědět. Ale zatim se to stalo pouze v tomhle jednom případě.
Zkoušel jsem to debugovat na tom postu kterej jsem si lokálně uložil, ale moc jsem nezjistil. Vyhodilo to tuhle chybu už na tagName
, ale před ní to nevypsalo nic (jen spoustukrát jQuery verzi, kterou jsem tam přidal pro debugovací účely, ale nic jinýho)
Jo aha, když n je null tak se nechytí na n === undefined
. Napadá mě: v prvním screenshotu n.tagName prošlo, ale $n.parents spadlo. Nemůže dojít k tomu, že se to $n nenastaví správně, třeba v nějakym krajním případě jako když n je null nebo undefined?
is_garbage se volá s parametrem null tady:
Ten element USE na tomto místě vypadá takhle (což je divný, ne?):
Každopádně když na začátek is_garbage přidam podmínku if (n === null) return false
tak pro celej post vrátí taky false...
Jo počkat, teď jsem si vzpomněl, to je ten svg element kterej fb skrývá pomocí shadowrootu, a to funguje jenom ve Firefoxu... a já jsem to měl otevřený v Opeře. Už zpětně nezjistim, jestli by to ve Firefoxu fungovalo, ale pokud se to znova neobjeví tak bych to bral jako že všechno ok. Pardon za mystifikaci :D
Aha, takže dobrý, zatim zavírám? Jenom jsem to tak projel. Jo, javascriptový undefined a null jsou lahůdky. Rád se tomu budu kdyžtak věnovat, až na to narazíš.
Jo jo, zavírám, díky :)
fb-getridad allowed a sponsored post through. Upon closer inspection I found the cause is that
is_garbage
at some point gets called withundefined
as parameter, tries to access its propertyparents
and as a result exits with an error.post: html.txt
error location: