Předmět Autor Datum
Ano. https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
Wikan 16.10.2019 23:30
Wikan
Díky za tip. Mám to takto <ul id="prehled"> <li>Počet jahod:40000</li> <li>Počet pomerančů:36000</…
J.án 17.10.2019 00:39
J.án
Protože tam máš ten disconnect. nový
Wikan 17.10.2019 06:07
Wikan
Díky moc. funguje.. nový
J.án 17.10.2019 12:47
J.án
Tak se s tím pořád trápím :( Nevíš prosím tě co s tím je? Dostávám chybu : Uncaught TypeError: Canno… nový
J.án 17.10.2019 21:26
J.án
Jaký má být smysl tohohle řádku? this.observer= new MutationObserver(this.stop); nový
Wikan 17.10.2019 21:30
Wikan
No jestli jsem to pochopil, tak pokud se něco změní, tak se spustí callback / funkce stop(). Nebo ne… nový
J.án 17.10.2019 21:37
J.án
No právě. Jaký to má smysl? Sledovat změny a když nějaká nastane, tak s tím sledováním přestat. Ale… nový
Wikan 17.10.2019 21:46
Wikan
No právě. Jaký to má smysl? Sledovat změny a když nějaká nastane, tak s tím sledováním přestat. Pře… nový
J.án 17.10.2019 21:51
J.án
Proč se nepoučíš z předchozích dotazů? this.observer = new MutationObserver(this.stop.bind(this)); nový
Wikan 17.10.2019 22:02
Wikan
Učím, to jsem taky zkoušel, výsledek stejný :( nový
J.án 17.10.2019 22:10
J.án
Zvláštní, že mně to funguje. nový
Wikan 17.10.2019 22:12
Wikan
A máš to takto? class Zmeny{ start(){ var target= document.querySelector('#prehled'); var options=… nový
J.án 17.10.2019 22:14
J.án
Ano. nový
Wikan 17.10.2019 22:17
Wikan
Hm, tak to mě vážně nefunguje :( co u mě funguje je tohle class Zmeny{ start(){ var target= docume… nový
J.án 17.10.2019 22:28
J.án
Je potřeba pro každý zavolat observe(). nový
Wikan 17.10.2019 22:35
Wikan
OK, díky moc. Já jdu přeinstalovat Windows, těch problémů je už nějak moc :( nový
J.án 17.10.2019 22:37
J.án
Silně pochybuju, že si tím pomůžeš. nový
Wikan 17.10.2019 22:40
Wikan
No něčím to být musí.. Ne? :-) nový
J.án 17.10.2019 23:05
J.án
Možno behovým prostredím (Prehliadač (doplnkom prehliadača), Electron, či iné). Snaď funkčnosť netes… nový
Mlocik97 18.10.2019 10:14
Mlocik97
Můžu pomocí toho scriptu hlídat i změnu objektu nebo pole? nový
J.án 26.10.2019 21:37
J.án
Ne. nový
Wikan 26.10.2019 21:49
Wikan
A nějaký jiný způsob znáš? nový
J.án 26.10.2019 22:27
J.án
Tak snad sám víš, co si v datech měníš, ne? poslední
Wikan 26.10.2019 22:32
Wikan
Tak reinstall pomohl, otázkou ale je, co bylo ve finále opravdu špatně. Neřeším to, reinstalace trvá… nový
J.án 18.10.2019 12:52
J.án
Spíš jsi měl v cache prohlížeče načtenou starší verzi skriptu. Ale když to neřešíš, tak je to jedno. nový
Wikan 18.10.2019 12:56
Wikan

Díky za tip.

Mám to takto

<ul id="prehled">
<li>Počet jahod:40000</li>
<li>Počet pomerančů:36000</li>
</ul>

var target = document.querySelector('#prehled');
var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        console.log(mutation.type);
    });
});
var config = { attributes: true, childList: true, characterData: true }
observer.observe(target, config);
observer.disconnect();

Pokud změním javascriptem v li (Počet jahod) hodnotu ze 40000 třeba na 200, tak se nic neděje? Co je prosím špatně? Díky

Tak se s tím pořád trápím :( Nevíš prosím tě co s tím je?
Dostávám chybu : Uncaught TypeError: Cannot read property 'disconnect' of undefined at MutationObserver.disconnect

class Zmeny{
        start(){
                var target= document.querySelector('#prehled');
                var options= { childList:true, attributes:true, subtree:true};
                this.observer= new MutationObserver(this.stop);
                this.observer.observe(target, options);
        }

        stop(){
                this.observer.disconnect();
        }
}

No právě. Jaký to má smysl? Sledovat změny a když nějaká nastane, tak s tím sledováním přestat.

Přesně tak bych to potřeboval, změna nastala tudíž o tom vím a nepotřebuji to nadále hlídat.

Ale výsledek nikde nepoužít.

Jaký výsledek? Jako co se změnilo? To zatím nepotřebuji.

this vztahuje na ten observer.

Tak že to ve třídě nejde použít?

Zkoušel jsem to i takto, ale taky to nejde..

class Zmeny{
        start(){
                var target= document.querySelector('#categories');
                var options= { childList:true, attributes:true, subtree:true};
                var observer= new MutationObserver(stop(observer));
                observer.observe(target, options);
        }

        stop(observer){
                observer.disconnect();
        }
}

A máš to takto?

class Zmeny{
        start(){
                var target= document.querySelector('#prehled');
                var options= { childList:true, attributes:true, subtree:true};
                this.observer= new MutationObserver(this.stop.bind(this));
                this.observer.observe(target, options);
        }

        stop(){
                this.observer.disconnect();
        }
}

Hm, tak to mě vážně nefunguje :(

co u mě funguje je tohle

class Zmeny{
        start(){
                var target= document.querySelector('#prehled');
                var options= { childList:true, attributes:true, subtree:true};
                var observer= new MutationObserver(stop);
                observer.observe(target, options);
        }

        function stop(){
                observer.disconnect();
        }
}

BTW: a když budu chtít hlídat více těch hodnot v různých seznamech tak to mám napsat pro každý ten UL samostatně?

Zpět do poradny Odpovědět na původní otázku Nahoru