MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Метка: отменено
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
document.addEventListener('DOMContentLoaded', function() {
var topPages = ["Main_Page", "Help:Contents", "Sandbox"];
    var toggles = document.getElementsByClassName('section-toggle');
var wikiDomain = "yourwiki.org";  
    var i;
    for (i = 0; i < toggles.length; i++) {
        toggles[i].addEventListener('click', function() {
            var next = this.nextElementSibling;
            while (next && next.nodeType === 3) {
                next = next.nextSibling;
            }
            if (!next) return;
            var classList = next.className.split(' ');
            if (classList.indexOf('collapsible-content') === -1) return;


            if (classList.indexOf('collapsed') === -1) {
function getPageViews(page) {
                next.className += ' collapsed';
    var url = "https://" + wikiDomain + "/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/" + page + "/monthly/20250101/20250801";
            } else {
    $.getJSON(url, function(data) {
                next.className = next.className.replace(/\bcollapsed\b/, '').replace(/\s{2,}/g, ' ').trim();
        var totalViews = 0;
            }
        for (var i = 0; i < data.items.length; i++) {
        });
            totalViews += data.items[i].views;
    }
        }
        console.log(page + " — " + totalViews + " просмотров");
    });
}


    var contents = document.getElementsByClassName('collapsible-content');
for (var i = 0; i < topPages.length; i++) {
    for (i = 0; i < contents.length; i++) {
    getPageViews(topPages[i]);
        if (contents[i].className.indexOf('collapsed') === -1) {
}
            contents[i].className += ' collapsed';
        }
    }
});

Версия от 18:20, 23 августа 2025

var topPages = ["Main_Page", "Help:Contents", "Sandbox"];
var wikiDomain = "yourwiki.org"; 

function getPageViews(page) {
    var url = "https://" + wikiDomain + "/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/" + page + "/monthly/20250101/20250801";
    $.getJSON(url, function(data) {
        var totalViews = 0;
        for (var i = 0; i < data.items.length; i++) {
            totalViews += data.items[i].views;
        }
        console.log(page + " — " + totalViews + " просмотров");
    });
}

for (var i = 0; i < topPages.length; i++) {
    getPageViews(topPages[i]);
}