MediaWiki:Gadget-main page.js

Chú ý: Sau khi lưu trang này, phải xóa bộ nhớ đệm (cache) của trình duyệt để những thay đổi hiện ra

  • 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.
/**
 * Thay hình nền của đầu đề tìm kiếm theo một liên kết ẩn.
 * 
 * Hình nền được định rõ trong trang như vầy, thay vì trong bản kiểu, để cho dự
 * án thay hình nhanh lẹ không cần lo ngại về vùng nhớ đệm mấy.
 */
$(function () {
    if (!$("#wiktvi-mp-search-header").length) return;
    
    var bgURL = $("#wiktvi-mp-bg-link a").attr("href");
    if (!bgURL || bgURL.indexOf("//upload.wikimedia.org/") != 0) return;
    var safeBGURL = bgURL.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
    $("#wiktvi-mp-search-header").css("background-image",
                                      "url(\"" + safeBGURL + "\")");
});

/**
 * Di chuyển hộp tìm kiếm và các mục từ ví dụ lên trên đầu trang. Hàm này chỉ có
 * hiệu lực trong hình dạng Vectơ.
 */
$(function () {
    if (mw.config.get("wgPageName") != "Wiktionary:Trang_Chính/2012") return;
    
    var header = $("#wiktvi-mp-search-header");
    if (!header.length) return;
    
    if (mw.config.get("skin") != "vector") {
        $(".bodySearch input[name='search']").focus();
        return;
    }
    
    $(".bodySearch").hide();
    header.prepend($("#p-search"))
          .appendTo($("#mw-head, .mw-article-toolbar-container").last())
          .fadeIn("fast", function () {
            $("#searchInput").focus();
          });
    $(".bodySearch").remove();
});

/**
 * Thay thế danh sách mục từ ví dụ mới. Hàm này được gọi cho tới 12 lần.
 */
function refreshRandomEntryList() {
    if (refreshRandomEntryList.iteration++ >= 12) return;
    
    var placeholder = $("#wiktvi-mp-random");
    if (!placeholder.length) return;
    
    var title = placeholder.attr("title");
    if (title) {
        placeholder.removeAttr("title")
                   .data("limit", title);
    }
    
    var limit = parseInt(placeholder.data("limit")) || 10;
    $.getJSON(mw.config.get("wgServer") + mw.config.get("wgScriptPath") +
              "/api.php" + "?action=query&list=random&rnnamespace=0&rnlimit=" +
              limit + "&format=json&callback=?",
              function (json) {
        var pages = json && json.query && json.query.random;
        if (!pages || !pages.length) return;
        var links = "";
        for (var i = 0; i < pages.length; i++) {
            var url = mw.config.get("wgArticlePath")
                .replace("$1", pages[i].title.replace( /_/g, ' ' ));
            links += "<li><a href='" + url + "'>" + pages[i].title + "</a></li>";
        }
        placeholder.fadeOut("slow", function () {
           $(this).html(links).fadeIn("fast");
           setTimeout(refreshRandomEntryList, 10 /* s */ * 1000 /* ms */);
        });
    });
}
refreshRandomEntryList.iteration = 0;
$(refreshRandomEntryList);