« Widget:ModalLink » : différence entre les versions
Aucun résumé des modifications Balise : Révocation manuelle |
Aucun résumé des modifications |
||
| Ligne 7 : | Ligne 7 : | ||
</noinclude> | </noinclude> | ||
<div class="wf-modal-widget style="display:inline;"> | <div class="wf-modal-widget" style="display:inline;"> | ||
<a href="/index.php?title=<!--{$page|escape:'url'}-->" class="wf-modal-trigger" style="cursor:pointer;"><!--{$texte|default:$page|escape:'html'}--></a> | <a href="/index.php?title=<!--{$page|escape:'url'}-->" class="wf-modal-trigger" style="cursor:pointer;"><!--{$texte|default:$page|escape:'html'}--></a> | ||
<div class="wf-modal-overlay" style="display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;"> | <div class="wf-modal-overlay" style="display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;"> | ||
Dernière version du 29 septembre 2026 à 22:24
Widget pour ouvrir une page du wiki dans une boîte modale (contenu épuré via action=render). Syntaxe :
- « texte » est optionnel (défaut : nom de la page). - Utilisable plusieurs fois sur la même page, sans réglage. - Sans JavaScript, le lien s'ouvre normalement (repli gracieux).
<script> (function() {
var root = document.currentScript.previousElementSibling;
var overlay = root.querySelector('.wf-modal-overlay');
var trigger = root.querySelector('.wf-modal-trigger');
var closeBtn = root.querySelector('.wf-modal-close');
function open(e) {
if (e) e.preventDefault();
overlay.style.display = 'flex';
document.body.style.overflow = 'hidden';
}
function close() {
overlay.style.display = 'none';
document.body.style.overflow = ;
}
trigger.addEventListener('click', open);
closeBtn.addEventListener('click', close);
overlay.addEventListener('click', function(e) {
if (e.target === overlay) close();
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && overlay.style.display !== 'none') close();
});
})(); </script>