MediaWiki:Common.js: Porovnání verzí
Z Wiki JU
Bez shrnutí editace |
Bez shrnutí editace |
||
| Řádek 23: | Řádek 23: | ||
}); | }); | ||
(function () { | |||
var note = | var NOTE_ID = 'af5-note'; | ||
'<div class="articleFeedbackv5-note">' + | var NOTE_HTML = | ||
'<div id="' + NOTE_ID + '" class="articleFeedbackv5-note">' + | |||
'Tento formulář slouží pouze jako zpětná vazba pro tuto stránku. ' + | 'Tento formulář slouží pouze jako zpětná vazba pro tuto stránku. ' + | ||
'Řešíte-li nějaký problém, podívejte se na ' + | 'Řešíte-li nějaký problém, podívejte se na ' + | ||
'<a href="/wiki/Kontakty_služeb">seznam e-mailových adres</a>.' + | '<a href="/wiki/Kontakty_služeb">seznam e-mailových adres</a>.' + | ||
'</div>' | '</div>'; | ||
) | |||
function injectNote(root) { | |||
}); | var $ui = (root ? $(root) : $(document)) | ||
.find('.articleFeedbackv5-ui-inner') | |||
.first(); | |||
if (!$ui.length) return false; // UI ještě není | |||
if (document.getElementById(NOTE_ID)) return true; // už vloženo | |||
$ui.append(NOTE_HTML); // vložit pod tlačítka | |||
return true; | |||
} | |||
// Zkus hned (pro případ, že už je UI na stránce) | |||
if (injectNote()) return; | |||
// Sleduj DOM a přidej, jakmile se UI objeví | |||
var obs = new MutationObserver(function (mutations) { | |||
for (var m of mutations) { | |||
if (injectNote(m.target)) { | |||
obs.disconnect(); | |||
break; | |||
} | |||
} | |||
}); | |||
obs.observe(document.body, { childList: true, subtree: true }); | |||
// Bezpečnostní záloha – po 5 s to zkus naposledy | |||
setTimeout(function () { injectNote(); obs.disconnect(); }, 5000); | |||
})(); | |||
Verze z 22. 9. 2025, 09:09
/* Zde uvedený JavaScript bude použit pro všechny uživatele při načtení každé stránky */
$(function () {
// Zruš jQuery UI vzhled tlačítka
$('.articleFeedbackv5-submit').button('destroy');
});
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.extern-download').forEach(el => {
el.style.cursor = 'pointer';
el.style.color = '#0645AD';
el.style.textDecoration = 'underline';
el.addEventListener('click', () => {
const a = document.createElement('a');
a.href = el.getAttribute('data-url');
a.setAttribute('download', '');
a.style.display = 'none';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
});
});
(function () {
var NOTE_ID = 'af5-note';
var NOTE_HTML =
'<div id="' + NOTE_ID + '" class="articleFeedbackv5-note">' +
'Tento formulář slouží pouze jako zpětná vazba pro tuto stránku. ' +
'Řešíte-li nějaký problém, podívejte se na ' +
'<a href="/wiki/Kontakty_služeb">seznam e-mailových adres</a>.' +
'</div>';
function injectNote(root) {
var $ui = (root ? $(root) : $(document))
.find('.articleFeedbackv5-ui-inner')
.first();
if (!$ui.length) return false; // UI ještě není
if (document.getElementById(NOTE_ID)) return true; // už vloženo
$ui.append(NOTE_HTML); // vložit pod tlačítka
return true;
}
// Zkus hned (pro případ, že už je UI na stránce)
if (injectNote()) return;
// Sleduj DOM a přidej, jakmile se UI objeví
var obs = new MutationObserver(function (mutations) {
for (var m of mutations) {
if (injectNote(m.target)) {
obs.disconnect();
break;
}
}
});
obs.observe(document.body, { childList: true, subtree: true });
// Bezpečnostní záloha – po 5 s to zkus naposledy
setTimeout(function () { injectNote(); obs.disconnect(); }, 5000);
})();