Sto creando una semplice estensione di Chrome per sommare la lunghezza di ciascun video in una playlist di YouTube e inserire la lunghezza totale nella pagina. Ci sono riuscito, ma il mio script funziona solo dopo aver aggiornato una pagina ma non quando il sito è stato navigato. Non è molto comodo però.Come rilevare la navigazione della pagina su Youtube e modificare l'HTML prima che la pagina venga visualizzata?
È possibile rilevare la navigazione della pagina su Youtube e inserire HTML nella pagina prima di essere visualizzato nel browser in modo che il contenuto aggiunto venga visualizzato immediatamente senza alcun ritardo e non sia necessario aggiornare la pagina? Link
Esempio: https://www.youtube.com/playlist?list=PL_8APVyhfhpdgMJ3J80YQxWBMUhbwXw8B
P.S. La mia domanda non è lo stesso di Modify elements immediately after they are displayed (not after page completely loads) in greasemonkey script? perché ho provato MutationObserver e il problema è lo stesso - un aggiornamento è necessario per mostrare le modifiche alla pagina web:
var observer = new MutationObserver(function(mutations) {
for (var i=0; i<mutations.length; i++) {
var mutationAddedNodes = mutations[i].addedNodes;
for (var j=0; j<mutationAddedNodes.length; j++) {
var node = mutationAddedNodes[j];
if (node.classList && node.classList.contains("timestamp")) {
var videoLength = node.firstElementChild.innerText;
observer.disconnect();
var lengthNode = document.createElement("li");
var lengthNodeText = document.createTextNode(videoLength);
lengthNode.appendChild(lengthNodeText);
document.getElementsByClassName("pl-header-details")[0].appendChild(lengthNode);
return;
}
}
}
});
observer.observe(document, {childList: true, subtree: true});
Hmm, ho provato ma non funziona per il mio scopo. La parte della pagina in cui voglio inserire la lunghezza video combinata è già caricata dal momento in cui viene caricata la data/ora per ogni video, quindi ho lo stesso problema, la pagina deve essere aggiornata per mostrare l'HTML iniettato. Aggiornata la mia domanda poiché è stata contrassegnata come duplicata. – Lauren
Ho appena provato e no, non è stato risolto. È ancora necessario un aggiornamento. – Lauren
Grazie per aver cercato di aiutare finora. Ecco lo script, con il manifest anche in basso: http://pastie.org/private/yyc7piosnsna4yq7oymia – Lauren