MediaWiki:Gadget-DeluxeHistory.js
Chú ý: Sau khi lưu trang, có thể bạn sẽ phải xóa bộ nhớ đệm của trình duyệt để xem các thay đổi.
- Firefox / Safari: Nhấn giữ phím Shift trong khi nhấn Tải lại (Reload), hoặc nhấn tổ hợp Ctrl-F5 hay Ctrl-R (⌘R trên Mac)
- Google Chrome: Nhấn tổ hợp Ctrl-Shift-R (⇧⌘R trên Mac)
- Internet Explorer / Edge: Nhấn giữ phím Ctrl trong khi nhấn Làm tươi (Refresh), hoặc nhấn tổ hợp Ctrl-F5
- Opera: Nhấn tổ hợp Ctrl-F5.
// Thêm màu vào lịch sử trang để làm rõ ai đã đóng góp: màu hồng cho IP, màu xanh
// dương cho thành viên đã đăng ký, màu xanh lá cho bot và màu vàng cho bảo quản
// viên. Công cụ này phỏng theo [[:fr:MediaWiki:Gadget-DeluxeHistory.js]].
if (mw.config.get("wgAction") == "history") $(function () {
var users = {};
$("#pagehistory > li").each(function (idx) {
var link = $(this).find(".mw-userlink");
if (!link.length) return;
// Những nguời dùng địa chỉ IP có liên kết đến trang đóng góp.
var href = link.attr("href");
if (!href) return;
var ipPrefix = mw.config.get("wgFormattedNamespaces")[-1] + ":";
if (href.indexOf(mw.util.getUrl(ipPrefix)) === 0 ||
link.hasClass("mw-anonuserlink")) {
$(this).addClass("history-user-ip");
return;
}
var userName = link.text();
if (!userName) return;
$(this).addClass("history-user-normal");
users[userName] = true;
});
var userNames = [];
for (var userName in users) userNames.push(userName);
mw.loader.using("mediawiki.api", function () {
var api = new mw.Api();
api.get({
action: "query",
list: "users",
usprop: "groups",
ususers: userNames.join("|")
}).done(function (results) {
var users = results.query.users;
var userGroups = {};
$.each(users, function (idx, user) {
if (user) userGroups[user.name] = user.groups;
});
$("#pagehistory > li").each(function (idx) {
var link = $(this).find(".mw-userlink");
if (!link.length) return;
var userName = link.text();
if (!userName || !userGroups[userName]) return;
var row = $(this);
$.each(userGroups[userName], function (idx, group) {
if (!group || group == "*" || group == "user") return;
row.addClass("history-user-" + group);
});
});
});
});
});