Bir chrome uzantısı oluşturuyorum. Amaç, youtube'daki tüm açık sekmeleri video süresine göre sıralamaktır (düşükten yükseğe).
Bu kodu bu eğitimde açıklanan bu GitHub projesinden buldum:
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});
}
});
Bu kod alfabetik sıraya göre sıralama ile mükemmel çalışır. Ancak, video süresine göre sıralamak için ayarlamak istiyorum.
Bu yüzden bu dosyayı tüm açık sekmelerden video süresi almak için yazdım, ancak yine de "sekmeleri sıralama veya taşıma" bölümüne geçemiyorum.
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>');
});
}
});
});
Çıktı (Saniye cinsinden video süresi) - (Görünür popup.html
):
1229.041
187.501
510.581
609.941
1473.821
955.481
5464.281
59.201
1787.701
1523.941