MediaWiki:Common.js: различия между версиями
Внешний вид
Admin (обсуждение | вклад) Новая страница: «→Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице: $(function() { // Ждем загрузки правого меню mw.hook('wikipage.content').add(function() { // Находим правое меню (персональные инструменты) var personalTools = $('#p-personal, #p-views, #p-actions'...» |
Admin (обсуждение | вклад) Нет описания правки |
||
| (не показано 16 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | ||
$(function() { | $(function() { | ||
mw.hook('wikipage.content').add(function() { | mw.hook('wikipage.content').add(function() { | ||
// | const personalTools = $('.vector-sticky-pinned-container'); | ||
let xhr = new XMLHttpRequest(); | |||
xhr.open("GET", "https://gravitycraft.ru/api/external/v1/sidebar-info", true); | |||
xhr.responseType = 'json'; | |||
xhr.send(); | |||
xhr.onload = function() { | |||
let responseObj = xhr.response; | |||
console.log(responseObj) | |||
let sidebarWrapper = $('<div class="sidebar__wrapper"></div>'); | |||
let monitoringWrapper = $('<div class="monitoring__wrapper"></div>'); | |||
for (version in responseObj.monitoring.servers) { | |||
for (serverKey in responseObj.monitoring.servers[version]) { | |||
let serverObj = responseObj.monitoring.servers[version][serverKey]; | |||
monitoringWrapper.append(` | |||
<a href="${serverObj.url}" target="_blank" class="server__wrapper"> | |||
<img class="server__img" src="${serverObj.icon}" alt="serverIcon" /> | |||
<div class="server__info"> | |||
<div class="server__info-title">${serverObj.name}</div> | |||
<div class="server__info-version">Версия: ${serverObj.version}</div> | |||
</div> | |||
<div class="server__online"> | |||
${serverObj.online} | |||
</div> | |||
</a> | |||
`); | |||
} | |||
} | |||
sidebarWrapper.append(monitoringWrapper); | |||
personalTools.last().prepend(sidebarWrapper); | |||
}; | |||
}); | }); | ||
}); | }); | ||
Текущая версия от 22:51, 15 октября 2025
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
$(function() {
mw.hook('wikipage.content').add(function() {
const personalTools = $('.vector-sticky-pinned-container');
let xhr = new XMLHttpRequest();
xhr.open("GET", "https://gravitycraft.ru/api/external/v1/sidebar-info", true);
xhr.responseType = 'json';
xhr.send();
xhr.onload = function() {
let responseObj = xhr.response;
console.log(responseObj)
let sidebarWrapper = $('<div class="sidebar__wrapper"></div>');
let monitoringWrapper = $('<div class="monitoring__wrapper"></div>');
for (version in responseObj.monitoring.servers) {
for (serverKey in responseObj.monitoring.servers[version]) {
let serverObj = responseObj.monitoring.servers[version][serverKey];
monitoringWrapper.append(`
<a href="${serverObj.url}" target="_blank" class="server__wrapper">
<img class="server__img" src="${serverObj.icon}" alt="serverIcon" />
<div class="server__info">
<div class="server__info-title">${serverObj.name}</div>
<div class="server__info-version">Версия: ${serverObj.version}</div>
</div>
<div class="server__online">
${serverObj.online}
</div>
</a>
`);
}
}
sidebarWrapper.append(monitoringWrapper);
personalTools.last().prepend(sidebarWrapper);
};
});
});