Esegui la funzione dopo che il DOM è stato caricato (didRender, didInsertElement e decorateCooked non funzionano)

Ciao. Sto cercando di valutare un div nella pagina di visualizzazione dell’argomento. Per farlo, ho bisogno di eseguire una funzione dopo che il DOM nella pagina di visualizzazione dell’argomento ha finito di caricarsi.

In JavaScript normale, userei “window.onload = function()…” per questo. Tuttavia, questa funzione onload non sembra funzionare quando l’argomento viene navigato dall’interno del sito.

Come posso eseguire la funzione dopo che il DOM è completamente caricato?


Ho provato quanto segue, e nessuno di questi sembra funzionare:

withPluginApi("0.11.1", api => {
    api.modifyClass('component:topic-title', {
          didRender: function(){  //ho provato anche "didInsertElement"
                  //esegui funzione--esegue ancora prima che tutti i div siano stati caricati
           }
      }),
     api.decorateCookedElement(function() {
           //esegui funzione--esegue ancora prima che tutti i div siano stati caricati.
    })
})

Credo che tu debba farlo tramite un evento del componente. Perché ti interessa comunque? Forse scegli un componente in profondità nell’albero, per così dire. Una delle “foglie”.

“Dom completamente caricato” non ha molto senso in un’applicazione a pagina singola, dato che tutto è dinamico?

In breve, sembra che tu sia già sulla strada giusta. Quale problema sta causando? Perché devi avere tutti i div caricati?

Cosa intendi esattamente con “valutare un div”? Forse c’è un altro modo per affrontare quello che stai facendo?

3 Mi Piace

Voglio cambiare il testo della div o, in alcuni casi, rimuoverla dalla vista.

Ottimo punto riguardo al componente che sto scegliendo: potrebbe essere la ragione del problema, ovvero che il componente che sto scegliendo si carica prima di alcune delle div, e che potrei provare componenti che si caricano più tardi. Grazie.

2 Mi Piace