Tworzę rozszerzenie chrome. Celem jest, aby posortować wszystkie otwarte karty z YouTube na czas trwania wideo (od niskiej do wysokiej).
Znalazłem ten kod z tego projektu na GitHub, tłumaczony w tym podręczniku:
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});
}
});
Ten kod działa, posortowane alfabetycznie. Jednak chcę go skonfigurować, aby posortować je według czasu trwania filmu.
Dlatego napisałem ten plik, aby uzyskać długość wideo ze wszystkich otwartych kart, ale wciąż nie mogę przejść do części "sortowanie lub przenoszenie kart".
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>');
});
}
});
});
Wniosek (Długość filmu w sekundach) - (Pojawia się w popup.html
):
1229.041
187.501
510.581
609.941
1473.821
955.481
5464.281
59.201
1787.701
1523.941