MediaWiki:Common.js: различия между версиями
Luciana (обсуждение | вклад) Нет описания правки Метка: отменено |
Luciana (обсуждение | вклад) Отмена версии 4300, сделанной Luciana (обсуждение) Метки: отмена отменено |
||
Строка 1: | Строка 1: | ||
mw.loader.load("https://revera.world/js/reverin-date.js"); | |||
document.addEventListener("DOMContentLoaded", function() { | |||
let sidebar = document.getElementById("p-navigation") || document.getElementById("p-tb"); | |||
. | function ensureReverinDateWidget() { | ||
if (sidebar && !document.getElementById("reverinDateWidget")) { | |||
let dateDiv = document.createElement("div"); | |||
dateDiv.id = "reverinDateWidget"; | |||
dateDiv.style.padding = "10px"; | |||
dateDiv.style.borderTop = "1px solid #ccc"; | |||
dateDiv.style.marginTop = "10px"; | |||
dateDiv.style.fontWeight = "bold"; | |||
dateDiv.style.whiteSpace = "pre-line"; | |||
dateDiv.innerText = "Загрузка реверинской даты..."; | |||
. | sidebar.appendChild(dateDiv); | ||
console.log("`#reverinDateWidget` вставлен в сайтбар!"); | |||
} | } | ||
} | |||
function waitForReverinScript(callback) { | |||
let attempts = 0; | |||
let checkInterval = setInterval(function() { | |||
if (typeof window.loadReverinDate === "function") { | |||
clearInterval(checkInterval); | |||
console.log("Скрипт `reverin-date.js` загружен, запускаем!"); | |||
window.loadReverinDate(); | |||
callback(); | |||
} else if (attempts >= 20) { | |||
clearInterval(checkInterval); | |||
console.error("Ошибка: `reverin-date.js` не загрузился!"); | |||
} | |||
attempts++; | |||
}, 250); | |||
} | |||
function waitForTooltips() { | |||
let attempts = 0; | |||
let checkInterval = setInterval(function() { | |||
if (typeof window.addTooltipHandlers === "function") { | |||
clearInterval(checkInterval); | |||
console.log("Подсказки загружены, запускаем!"); | |||
window.addTooltipHandlers(); | |||
} else if (attempts >= 20) { | |||
clearInterval(checkInterval); | |||
console.error("Ошибка: `addTooltipHandlers` не загрузился!"); | |||
} | |||
attempts++; | |||
}, 250); | |||
} | |||
ensureReverinDateWidget(); | |||
waitForReverinScript(waitForTooltips); | |||
}); |
Версия от 23:17, 25 февраля 2025
mw.loader.load("https://revera.world/js/reverin-date.js"); document.addEventListener("DOMContentLoaded", function() { let sidebar = document.getElementById("p-navigation") || document.getElementById("p-tb"); function ensureReverinDateWidget() { if (sidebar && !document.getElementById("reverinDateWidget")) { let dateDiv = document.createElement("div"); dateDiv.id = "reverinDateWidget"; dateDiv.style.padding = "10px"; dateDiv.style.borderTop = "1px solid #ccc"; dateDiv.style.marginTop = "10px"; dateDiv.style.fontWeight = "bold"; dateDiv.style.whiteSpace = "pre-line"; dateDiv.innerText = "Загрузка реверинской даты..."; sidebar.appendChild(dateDiv); console.log("`#reverinDateWidget` вставлен в сайтбар!"); } } function waitForReverinScript(callback) { let attempts = 0; let checkInterval = setInterval(function() { if (typeof window.loadReverinDate === "function") { clearInterval(checkInterval); console.log("Скрипт `reverin-date.js` загружен, запускаем!"); window.loadReverinDate(); callback(); } else if (attempts >= 20) { clearInterval(checkInterval); console.error("Ошибка: `reverin-date.js` не загрузился!"); } attempts++; }, 250); } function waitForTooltips() { let attempts = 0; let checkInterval = setInterval(function() { if (typeof window.addTooltipHandlers === "function") { clearInterval(checkInterval); console.log("Подсказки загружены, запускаем!"); window.addTooltipHandlers(); } else if (attempts >= 20) { clearInterval(checkInterval); console.error("Ошибка: `addTooltipHandlers` не загрузился!"); } attempts++; }, 250); } ensureReverinDateWidget(); waitForReverinScript(waitForTooltips); });