Greasy Fork is available in English.
自动排序 Mozilla 目录列表 / Auto sort for Mozilla directory listings.
// ==UserScript==
// @name Mozilla Directory Auto Sort
// @namespace local
// @version 1.0
// @description 自动排序 Mozilla 目录列表 / Auto sort for Mozilla directory listings.
// @description:zh-cn 自动排序 Mozilla 目录列表,提升浏览体验。
// @match *://ftp.mozilla.org/*
// @match *://archive.mozilla.org/*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function () {
function isDirectoryLink(a) {
return a.href.endsWith("/") &&
!/Parent Directory/i.test(a.textContent);
}
function getName(a) {
return a.textContent.trim().replace(/\/$/, "");
}
function sortDirectory() {
const container = document.querySelector("pre, table");
if (!container) return;
const links = Array.from(container.querySelectorAll("a"))
.filter(isDirectoryLink);
if (!links.length) return;
links.sort((a, b) =>
getName(b).localeCompare(getName(a), undefined, {
numeric: true,
sensitivity: "base"
})
);
links.forEach(link => {
const row = link.closest("tr") || link;
container.appendChild(row);
});
}
// 等待页面稳定
if (document.readyState === "complete") {
sortDirectory();
} else {
window.addEventListener("load", sortDirectory);
}
})();