Sto costruendo un estensione di google chrome. L'obiettivo è quello di ordinare tutte le schede aperte da youtube con video durata (da basso a alto).
Ho trovato questo codice su GitHub del progetto, ha spiegato in questo tutorial:
popup.js
function byAlphabeticalURLOrder(tab1, tab2) {
if (tab1.url < tab2.url) {
return -1;
} else if (tab1.url > tab2.url) {
return 1;
}
return 0;
}
chrome.tabs.query({windowId: chrome.windows.WINDOW_ID_CURRENT}, (tabs) => {
tabs.sort(byAlphabeticalURLOrder);
for (let i = 0; i < tabs.length; i++) {
chrome.tabs.move(tabs[i].id, {index: i});
}
});
Questo codice funziona perfettamente con l'ordinamento in ordine alfabetico. Tuttavia, voglio adeguare l'ordinamento durata del video.
Così ho scritto questo file per ottenere il video di una durata di tutte le schede aperte, ma ancora non è possibile andare in giro per i "ordinamento o lo spostamento di schede" parte.
popup.js
chrome.tabs.query({
windowId: chrome.windows.WINDOW_ID_CURRENT
}, (tabs) => {
chrome.tabs.query({}, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
chrome.tabs.executeScript(tabs[i].id, {
code: '(' + function () {
return {
seconds: document.querySelector("video").duration
};
} + ')()'
}, function (result) {
document.write(result[0].seconds + '<br>');
});
}
});
});
Output (Video durata in secondi) - (Appare in popup.html
):
1229.041
187.501
510.581
609.941
1473.821
955.481
5464.281
59.201
1787.701
1523.941